作者:手机用户随便转转 | 来源:互联网 | 2023-01-26 10:15
在ios 11中引入了一项新功能:用于app的密码自动填充功能.此功能允许用户直接通过键盘快速键栏在他们的应用程序中使用他们保存的密码.
https://techcrunch.com/2017/06/08/ios-11s-new-password-autofill-for-apps-wont-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的快速栏高度.
- (void)keyboardWillShow:(NSNotification *)notification {
NSDictionary* info = [notification userInfo];
CGSize keyboardSize = [info[UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
}
keyboardSize将是之前的keyboardSize,所以如果我们有快速栏并且现在它已经消失了,那么keyboardSize比它应该更多,反之亦然.似乎在Quickbar show/hide之前会触发keyboardWillShow通知.
如果有人知道如何在快速栏显示/隐藏或任何其他建议后触发键盘通知,请分享.
谢谢..
1> Shubham bair..:
尝试使用UIKeyboardFrameEndUserInfoKey
不要UIKeyboardFrameBeginUserInfoKey
2> zombie..:
我认为你使用的是错误的钥匙
尝试 UIKeyboardFrameEndUserInfoKey
目标c
CGSize keyboardSize = [info[UIKeyboardFrameEndUserInfoKey] CGRectValue].size;
迅速
let keyboardSize = (info[UIKeyboardFrameEndUserInfoKey] as! NSValue).cgRectValue