键盘外的听写按钮

时间:2016-04-18 04:57:43

标签: ios objective-c iphone swift ipad

有没有办法在点击iOS键盘外的按钮时执行听写。 例如:我有一个带有麦克风按钮的UITextField。单击此按钮,它应打开与在键盘内单击麦克风按钮时相同的对话框/视图。

2 个答案:

答案 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