gpt4 book ai didi

objective-c - UIKeyBoard 在方向更改为横向时调整大小

转载 作者:搜寻专家 更新时间:2023-10-30 19:50:31 24 4
gpt4 key购买 nike

这是一个非常菜鸟的问题。我在底部有一个 UIToolBar,当显示 UIKeyBoard 时,它应该会随着键盘上下移动。我在 UIKeyBoard Notifications 的帮助下完成了这项工作。我们正在谈论的 View 启用了 Split View。当设备方向是横向时,两个 View 都显示为列[希望有意义]。

当显示键盘时,我这样做

CGSize keyBoardSize = [[notificationInfo objectForKey:UIKeyboardFrameEndUserInfoKey]CGRectValue].size;

CGRect toolbarFrame= [BottomToolBar frame];
toolbarFrame.origin.y -= keyBoardSize.height;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
BottomToolBar .frame = viewFrame;
[UIView commitAnimations];

当键盘隐藏时我会这样做

toolbarFrame.origin.y += keyBoardSize.height;

我的问题是当设备方向变为横向时,当键盘可见时底部工具栏消失了。我看到它快速上升。我不确定如何解决这个问题。有人可以帮忙吗?另外,有没有办法不让键盘跨越 Split View中的两个 View ?

最佳答案

我也有这个问题,我能想到的就是关闭键盘并重新显示它(辞职然后再次成为第一响应者)。但这似乎很不令人满意。

另请注意,您应该将矩形从屏幕坐标转换为 View 坐标。 (屏幕坐标不旋转。)

CGRect keyboardRect = [[notificationInfo objectForKey:UIKeyboardFrameEndUserInfoKey]CGRectValue];
keyboardRect = [[BottomToolBar superview] convertRect:keyboardRect fromView:nil];

更新:您必须注册 UIKeyboardWillShowNotification,然后您的操作将在界面旋转时被调用 :)

另见: https://devforums.apple.com/message/181482#181482

关于objective-c - UIKeyBoard 在方向更改为横向时调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2474671/

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