密码自动填写快速types栏在ios 11

在ios 11中引入了一项新function:应用程序的密码自动填充function。 该function允许用户直接在键盘快捷方式栏中使用他们保存的密码。

iOS 11’s new ‘Password Autofill for Apps’ won’t work with (or replace) your favorite password manager

https://code.tutsplus.com/articles/faster-logins-with-password-autofill-in-ios-11–cms-29096

https://developer.apple.com/videos/play/wwdc2017/206/

但问题是当我使用keyboardWillShow或keyboardWillHide或keyboardDidShow或keyboardDidHide事件时,他们都没有考虑keyboardSize的quickbar高度。

- (void)keyboardWillShow:(NSNotification *)notification { NSDictionary* info = [notification userInfo]; CGSize keyboardSize = [info[UIKeyboardFrameBeginUserInfoKey] CGRectValue].size; } 

keyboardSize将是之前的keyboardSize,所以如果我们有quickbar,现在它已经消失了keyboardSize比它应该是更多,反之亦然。 看起来keyboardWillShow通知在快捷栏显示/隐藏之前触发。

如果有人有任何想法如何快速显示/隐藏或任何其他build议后触发键盘通知,请分享。

谢谢..

尝试使用UIKeyboardFrameEndUserInfoKey不要UIKeyboardFrameBeginUserInfoKey

我想你使用的是错误的钥匙

尝试UIKeyboardFrameEndUserInfoKey

目标c

 CGSize keyboardSize = [info[UIKeyboardFrameEndUserInfoKey] CGRectValue].size; 

迅速

 let keyboardSize = (info[UIKeyboardFrameEndUserInfoKey] as! NSValue).cgRectValue