Iphone 手动更改位于摄影机视图顶部的视图的键盘方向
我基本上是想重现AtOnce应用程序的核心功能。我有一个摄像头视图和另一个带有文本视图的视图 我将两个视图都添加到窗口中。到目前为止一切顺利Iphone 手动更改位于摄影机视图顶部的视图的键盘方向,iphone,keyboard,camera,Iphone,Keyboard,Camera,我基本上是想重现AtOnce应用程序的核心功能。我有一个摄像头视图和另一个带有文本视图的视图 我将两个视图都添加到窗口中。到目前为止一切顺利 [window addSubview:imagePicker.view]; [window addSubview:textViewController.view]; 我知道UIImagePickerController不支持自动旋转,因此我通过观察UIDeviceOrientationIDChangeNotifications并对textViewCont
[window addSubview:imagePicker.view];
[window addSubview:textViewController.view];
我知道UIImagePickerController不支持自动旋转,因此我通过观察UIDeviceOrientationIDChangeNotifications并对textViewController.view应用必要的转换来手动处理
现在,这里的问题是键盘。如果我什么也不做,它只会停留在肖像模式。我可以通过向通知处理程序添加以下代码使其旋转
[[UIApplication sharedApplication] setStatusBarOrientation:interfaceOrientation];
[textView resignFirstResponder];
[textView becomeFirstResponder];
但是,下面的简单测试会产生奇怪的行为
以纵向模式启动应用程序。
将设备顺时针旋转90度。
将设备逆时针旋转90度回到初始位置。
将设备顺时针旋转90度。
在第4步之后,显示的不是横向模式键盘,而是纵向样式键盘,倾斜以适合横向键盘框架
也许我的方法从一开始就错了。我想知道是否有人能够可靠地让键盘改变方向以响应SetStatusBaroOrientation。好吧,不管你做什么,这都是黑客行为。相机/选择器只能在portait模式下工作。您可以通过处理转换来解决这个问题。但不幸的是,当你这样做的时候,你不能真正依靠每件事都能正常工作。对不起,没有最终答案