大家都知道如果使用藍(lán)牙遙控器需要向apple進(jìn)行MFI認(rèn)證, 認(rèn)證了以后每個(gè)遙控器都需要向apple交納一定的費(fèi)用, 這樣就太不劃算了. 那么有沒有辦法做到既可以在app中使用遙控器又不需要額外開銷呢? 答案是有的. 下面開始貼代碼
//設(shè)置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];
首先需要注意一下這個(gè)視圖的frame, 需要設(shè)置為越界狀態(tài), 不可以在屏幕上邊顯示出來. 為什么要設(shè)置這么一個(gè)textView, 就是需要使用這個(gè)textView作為接收遙控器鍵值的. 遙控器廠商進(jìn)行配置以后, 在手機(jī)端的textview就可以收到按鍵的響應(yīng)了, 可以打印字幕, a-z都是可以的.(遙控器有沒有支持, 可以連接藍(lán)牙以后打開safari瀏覽器, 點(diǎn)擊輸入欄, 再按遙控器看看是否可以打印字母就可以了, 當(dāng)連接了遙控器以后點(diǎn)擊手機(jī)上邊所有的輸入框都不會(huì)彈出鍵盤的, 因?yàn)楸贿b控器攔截了)
好了下面繼續(xù). 設(shè)置代理以后就需要使用代理了
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{
? ? ? ? 根據(jù)打印text的不同的字母我們可以做一些操作, 比如切換下一首歌曲, 快進(jìn)視頻, 暫停等等.
}