相关疑难解决方法(0)

键盘"WillShow"和"WillHide"与旋转

我有一个视图控制器监听UIKeyboardWillShowNotification和UIKeyboardWillHideNotification.这些通知的处理程序调整视图的各个部分,这是标准过程.

以下代码用于从屏幕坐标转换键盘rect:

CGRect keyboardBounds = [self.view convertRect:[keyboardBoundsValue CGRectValue] fromView:nil];
Run Code Online (Sandbox Code Playgroud)

再次,标准程序.不幸的是,存在这种转换失败的严重情况.看看在部署键盘时iPhone从纵向旋转到横向时会发生什么:

1)iOS自动触发UIKeyboardWillHideNotification ; self.interfaceOrientation报告为肖像 ; keyboardBounds.height是216.0.这是有道理的.为什么?因为在视图切换到横向模式之前,通知处理程序有机会"清理".

2)iOS自动触发UIKeyboardWillShowNotification ; self.interfaceOrientation报告为肖像 ; keyboardBounds.height是480.0.这没有意义.为什么不?因为通知处理程序将完成它的工作,认为键盘的高度是480.0!

苹果公司是否放弃了这个,或者我做错了什么?

请注意,倾听UIKeyboard而不是 ShowNoification不是有效的解决方案,因为它会显着降低用户体验.为什么?因为在键盘部署动画发生后动画我对视图的更改是...好吧,非常可怕.

键盘部署后,有没有人设法让自动旋转完美运行?Apple似乎完全忽略了混乱的爆发.>:|

iphone keyboard ipad autorotate ios

23
推荐指数
1
解决办法
1万
查看次数

标签 统计

autorotate ×1

ios ×1

ipad ×1

iphone ×1

keyboard ×1