加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – UIKeyBoard调整方向更改为横向

发布时间:2020-12-16 10:52:11 所属栏目:百科 来源:网络整理
导读:这是一个非常新秀的问题.我在底部有一个UIToolBar,当显示UIKeyBoard时,它应该用键盘上下动画.我在UIKeyBoard Notifications的帮助下完成了这项工作.我们正在讨论的视图已启用拆分视图.当设备方向是横向时,两个视图都显示为[希望有意义]. 当显示键盘时,我这样
这是一个非常新秀的问题.我在底部有一个UIToolBar,当显示UIKeyBoard时,它应该用键盘上下动画.我在UIKeyBoard Notifications的帮助下完成了这项工作.我们正在讨论的视图已启用拆分视图.当设备方向是横向时,两个视图都显示为[希望有意义].

当显示键盘时,我这样做

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];

当键盘是hiiden我这样做

toolbarFrame.origin.y += keyBoardSize.height;

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

解决方法

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

另请注意,您应该将rect从屏幕坐标转换为视图的坐标. (屏幕坐标不旋转.)

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读