iOS 使用蓝牙遥控器
大家都知道如果使用蓝牙遥控器需要向apple进行MFI认证, 认证了以后每个遥控器都需要向apple交纳一定的费用, 这样就太不划算了. 那么有没有办法做到既可以在app中使用遥控器又不需要额外开销呢? 答案是有的. 下面开始贴代码
//设置textView,用来捕捉遥控器键值
self.textView = [[UITextView alloc]initWithFrame:CGRectMake(0, 0, 100, 100)];
self.textView.delegate = self;
self.textView.hidden = YES;
//改变键盘高度
UIView *imputView = [[UIView alloc] initWithFrame:CGRectMake(0, self.view.bottom, self.view.width, 1)];
imputView.backgroundColor = [UIColor blackColor];
//这一步非常重要, 可以使键盘高度只有1,几乎看不到
self.textView.inputView = imputView;
[self.view addSubview:self.textView];
[_textView becomeFirstResponder];
首先需要注意一下这个视图的frame, 需要设置为越界状态, 不可以在屏幕上边显示出来. 为什么要设置这么一个textView, 就是需要使用这个textView作为接收遥控器键值的. 遥控器厂商进行配置以后, 在手机端的textview就可以收到按键的响应了, 可以打印字幕, a-z都是可以的.(遥控器有没有支持, 可以连接蓝牙以后打开safari浏览器, 点击输入栏, 再按遥控器看看是否可以打印字母就可以了, 当连接了遥控器以后点击手机上边所有的输入框都不会弹出键盘的, 因为被遥控器拦截了)
好了下面继续. 设置代理以后就需要使用代理了
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
根据打印text的不同的字母我们可以做一些操作, 比如切换下一首歌曲, 快进视频, 暂停等等.
}