CBCentralManagerOptionShowPowerAlertKey AlertView / Alert Controller OK按钮

时间:2015-05-07 20:42:32

标签: ios bluetooth uialertview uialertcontroller cbcentralmanager

在应用程序中,我正在创建一个带有“遥控器”的视频播放器,其中两个不同的iOS设备使用蓝牙低功耗(BLE),其中一个设备是视频播放器,另一个是发送消息进行播放,暂停,倒带等。在这里,我使用CBCentralManagerOptionShowPowerAlertKey创建了中央管理器。

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES], CBCentralManagerOptionShowPowerAlertKey, nil];
        centralManager = [[CBCentralManager alloc]initWithDelegate:self queue:nil options:options];

如果设备没有打开蓝牙设置(我得到的设置有粗体字),则会弹出与此类似的警报视图/警报控制器。

CLBeaconRegion, how to turn off warning: Turn On Bluetooth to Allow * to Connect to Accessories

我想在按下resignFirstResponder以外的其他按钮时向OK按钮添加更多功能。

我缺少什么,我需要修改此警报视图/警报控制器中的“确定”按钮的功能? 方法我有突破和记录,但仍然没有抓住:

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
    NSLog(@"Button Index =%ld",(long)buttonIndex);
}

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSLog(@"%ld", (long)buttonIndex);
}

-(void)alertViewCancel:(UIAlertView *)alertView
{
    NSLog(@"alert view cancel");
}

1 个答案:

答案 0 :(得分:0)

  1. 您需要更改centralManager的选项,格式为[NSNumber numberWithBool:YES];至[NSNumber numberWithBool:NO];
  2. 使用centralManagerDidUpdateState:method。实现CBCentralManagerDeletgate。
  3. 在centralManagerDidUpdateState:方法中,您将创建alertview

    • (void)centralManagerDidUpdateState :( CBCentralManager *)central { if(_bluetoothManager.state == CBCentralManagerStatePoweredOff) {     [[[UIAlertView alloc] initWithTitle:nil                                     消息:@"我的警报"                                    委托:自我                           cancelButtonTitle:@"确定"                           otherButtonTitles:@"取消",nil] show]; } }
  4. 在alertView中:clikedButtonAtIndex:您将覆盖您的代码

    - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {     NSLog(@"%ld",(long)buttonIndex); }