??? 在我們的iOS應用開(kāi)發(fā)中經(jīng)常會(huì )涉及關(guān)于傳感器的問(wèn)題,拿蘋(píng)果4的傳感器來(lái)說(shuō)一般會(huì )分為:影像傳感器(相機鏡頭),磁阻傳感器(指南針),聲波傳感器(麥克風(fēng)),近接傳感器(紅外線(xiàn),超音波,雷射),加速度傳感器,角加速度傳感器這一些。
??? 其中,應用最多的有加速度傳感器,角度加速度傳感器,這兩個(gè)一般在需要重力感應的應用中會(huì )被使用到,在公開(kāi)的API中UIAccelerometer類(lèi)實(shí)現相應的功能;磁阻傳感器主要應用于需要指示方向的應用中,在公開(kāi)的API中CLLocationManager類(lèi)實(shí)現相應的功能。今天嘉興App開(kāi)發(fā)公司嘉興軟件iOS開(kāi)發(fā)工程師主要針對加速度傳感器和近接傳感器來(lái)簡(jiǎn)單介紹一些使用方法:
?
iOS開(kāi)發(fā):如何使用好傳感器
?
??? 加速度傳感器使用步驟如下:??? ①召喚UIAccelerometer這個(gè)單例;??? ②設置UIAccelerometer的updateInterval屬性,就是設置通知間隔;??? ③向UIAccelerometer的delegate屬性中設置負責具體處理的委托類(lèi);??? ④實(shí)現委托方法accelerometer:didAccelerate:以接受加速度的通知;??? ⑤從accelerometer:didAccelerate:方法的第二個(gè)參數UIAcceleration實(shí)例的相關(guān)屬性中獲取加速度。
??? 近接傳感器的用法代碼如下:
??? [[UIDevice currentDevice] setProximityMonitoringEnabled:YES];[[NSNotificationCenter defaultCenter] addObserver:self???????????????????????????????????????? selector:@selector(sensorStateChange:)???????????????????????????????????????????? name:@"UIDeviceProximityStateDidChangeNotification"?????????????????????????????????????????? object:nil];
-(void)sensorStateChange:(NSNotificationCenter *)notification;{??? if ([[UIDevice currentDevice] proximityState] == YES) {??????? NSLog(@"Device is close to user");??????? //在此寫(xiě)接近時(shí),要做的操作邏輯代碼??? }else{??????? NSLog(@"Device is not close to user");??? }}
??? 我這邊無(wú)法一時(shí)將所有傳感器使用方法介紹完,因此我給大家介紹一本書(shū)籍,叫做《iOS傳感器應用開(kāi)發(fā)最佳實(shí)踐》,目的是使一個(gè)有iOS開(kāi)發(fā)基礎的程序員通過(guò)本書(shū)的學(xué)習,能夠開(kāi)發(fā)iOS 硬件訪(fǎng)問(wèn)和傳感器應用的程序。里面包含了加速度計與陀螺儀、指南針與磁力計、照相機與攝像頭、音頻設備訪(fǎng)問(wèn)、使用藍牙、定位和iOS敏捷開(kāi)發(fā)項目實(shí)戰等部分內容。
?
嘉興App開(kāi)發(fā):http://m.fj256.com/
iOS開(kāi)發(fā):http://m.fj256.com/app.html