【发布时间】:2016-04-18 04:57:42
【问题描述】:
有没有办法在 iOS 键盘外单击按钮时执行听写。
例如:我有一个UITextField,右侧有麦克风按钮。单击此按钮时,它应该打开与在键盘内单击麦克风按钮时相同的对话框/视图。
【问题讨论】:
标签: ios objective-c iphone swift ipad
有没有办法在 iOS 键盘外单击按钮时执行听写。
例如:我有一个UITextField,右侧有麦克风按钮。单击此按钮时,它应该打开与在键盘内单击麦克风按钮时相同的对话框/视图。
【问题讨论】:
标签: ios objective-c iphone swift ipad
我已经对此进行了一段时间的研究,但还没有找到解决方案。
您不能像在主屏幕的原生 iPhone 搜索栏中那样在键盘外触发麦克风按钮。这是一个私有 API,不可用于开发。
最好的替代方法是使用 Apple 在 iOS 10.0+ 中提供的 Speech 框架,并构建您自己的自定义 UI 以将语音转换为文本。
希望这些信息对您有所帮助! :)
【讨论】:
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
【讨论】: