我是距離感應器,可以用來感應是否有物件接近或離開
第2步:建立距離感應器變化時呼叫的方法 - proximitySensorChange:
- 於ViewController.m檔中準備flag屬性
@interface ViewController ()
{
BOOL flag;
}
@end
- 實作proximitySensorChange:方法,當感應器變化時變更flag的值,以表示物件接近或離開
//實作當物體接近或離開時,
//被呼叫的方法
-(void)proximateSensorChange:(id)notification
{
flag = !flag;
if(flag)
{
//接近時背景變為藍色
[self.view setBackgroundColor:[UIColor blueColor]];
}
else
{
//離開時變回白色
[self.view setBackgroundColor:[UIColor whiteColor]];
}
}
第3步:監聽距離感應器變化變化訊息
- 於ViewController.h檔中的viewDidLoad方法中,透過NSNotificationCenter監聽UIDeviceProximityStateDidChangeNotification訊息,並在收到訊息傳送proximitySensorChange:訊息給self
- (void)viewDidLoad
{
[super viewDidLoad];
flag = false;
//開啟距離感應器
[[UIDevice currentDevice] setProximityMonitoringEnabled:YES];
//若proximityMonitoringEnabled回傳YES,
//表示此裝置有距離感應器,且成功開啟
if([UIDevice currentDevice].proximityMonitoringEnabled == YES)
{
//取得NSNotificationCenter
NSNotificationCenter * notificationCenter = [NSNotificationCenter defaultCenter];
//監聽UIDeviceProximityStateDidChangeNotification訊息,
//並在收到訊息後傳送proximateSensorChange:訊息給self
[notificationCenter addObserver:self
selector:@selector(proximateSensorChange:)
name:UIDeviceProximityStateDidChangeNotification
object:Nil];
}
}
第4步:執行
- 實機執行時,接近時會變為藍色,離開時變回白色
接近時…
離開時…
檔案連結:ProximateSensor.zip