有没有办法在点击iOS键盘外的按钮时执行听写。
例如:我有一个带有麦克风按钮的UITextField
。单击此按钮,它应打开与在键盘内单击麦克风按钮时相同的对话框/视图。
答案 0 :(得分:5)
我已经对此进行了一段时间的研究,但目前尚无法找到解决方案。
您无法在键盘外触发麦克风按钮,就像在主屏幕中的原生iPhone搜索栏中一样。这是一个无法用于开发的私有API 。
最好的选择是使用iOS 10.0+中提供的Apple提供的Speech框架,并构建您自己的自定义UI,将语音转换为文本。
希望这些信息有所帮助! :)
答案 1 :(得分:-3)
UITextField符合UITextInput协议(在“使用听写”部分下是感兴趣的方法)。在这个协议中是一个方法dictationRecordingDidEnd你可以覆盖。
一种方法是将UITextField子类化,并从UITextInput协议实现上述方法和任何其他感兴趣的方法。
示例子类.h
#import <UIKit/UIKit.h>
@interface TextField : UITextField
@end
的.m
#import "TextField.h"
@implementation TextField
-(void)dictationRecordingDidEnd {
NSLog(@"%s", __PRETTY_FUNCTION__);
}// done is pressed by user after dictation
@end