有一个简单的方法来消除键盘快捷键建议从UITextField?
可以使用以下方法删除键入更正:[textField setAutocorrectionType:UITextAutocorrectionTypeNo];但这对快捷方式没有影响.
影响sharedMenuController也不会压缩这个.
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender {
[UIMenuController sharedMenuController].menuVisible = NO;
return NO;
}
Run Code Online (Sandbox Code Playgroud)

这可能是iOS 9.3(发布)中的一个糟糕的错误.
添加单个观察者时,[NSUserDefaults standardUserDefaults]我注意到响应方法-observeValueForKeyPath:ofObject:change:context:被多次调用.
在下面的简单示例中,每次按下一次UIButton时,observeValueForKeyPath会触发两次.在更复杂的例子中,它会发射更多次.它仅出现在iOS 9.3上(包括sim和设备).
这显然会对应用程序造成严重破坏.其他人经历过同样的事情吗?
// ViewController.m (barebones, single view app)
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"viewDidLoad");
[[NSUserDefaults standardUserDefaults] addObserver:self forKeyPath:@"SomeKey" options:NSKeyValueObservingOptionNew context:NULL];
}
- (IBAction)buttonPressed:(id)sender {
NSLog(@"buttonPressed");
[[NSUserDefaults standardUserDefaults] setInteger:1 forKey:@"SomeKey"];
}
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context {
NSLog(@"observeValueForKeyPath: %@", keyPath);
}
Run Code Online (Sandbox Code Playgroud)