gpt4 book ai didi

ios - 在 textFieldShouldBeginEditing 委托(delegate)中获取键盘大小

转载 作者:行者123 更新时间:2023-12-01 17:15:27 24 4
gpt4 key购买 nike

我在创建消息传递应用程序时遇到问题,当打开键盘时,我不确定键盘的总大小和框架(字典区域是否打开)。
我想获得总尺寸和框架

textFieldShouldBeginEditing



代表。

最佳答案

您应该使用 UIKeyboardWillChangeFrameNotification 。还要确保将 CGRect 转换为正确的 View ,以供横向使用。

在你的 textFieldShouldBeginEditing 中设置 NSNotificationCenter

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChange:) name:UIKeyboardWillChangeFrameNotification object:nil];

并编写此方法。
- (void)keyboardWillChange:(NSNotification *)notification {
CGRect keyboardRect = [notification.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
keyboardRect = [self.view convertRect:keyboardRect fromView:nil]; //this is it!
}

在 swift 4
 NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillChange(_noti:) ), name: NSNotification.Name.UIKeyboardWillChangeFrame , object: nil)

KeyboardWillChange 方法
@objc func keyboardWillChange(_noti:NSNotification)
{
let keyBoard = _noti.userInfo
let keyBoardValue = keyBoard![UIKeyboardFrameEndUserInfoKey]
let fram = keyBoardValue as? CGRect // this is frame
}

关于ios - 在 textFieldShouldBeginEditing 委托(delegate)中获取键盘大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32709032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com