(九十一)距离传感器的使用

iPhone上的距离传感器通过UIDevice开启,开启后系统以Notification的方式通知。

①开启距离传感器,监听通知:

- (void)viewDidLoad {
    [super viewDidLoad];

    // 开启传感器在iOS3之后通过UIDevice的currentDevice的proximityMonitoringEnabled设置
    [UIDevice currentDevice].proximityMonitoringEnabled = YES;
    
    // 监听到物体靠近时,系统会发出通知
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(proximityStateChange:) name:UIDeviceProximityStateDidChangeNotification object:nil];
    
}

②实现通知方法:当物体靠近距离传感器时,手机会自动锁屏,并且proximityState为YES,否则为NO。

- (void)proximityStateChange:(NSNotification *)nof{
    
    NSLog(@"%d",[UIDevice currentDevice].proximityState);
    if ([UIDevice currentDevice].proximityState) {
        NSLog(@"靠近");
    }else{
        NSLog(@"离开");
    }
    
}

③dealloc时要移除通知:

- (void)dealloc{
    
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    
}


原文地址:https://www.cnblogs.com/aiwz/p/6154104.html