【问题标题】:Manually changing keyboard orientation for a view that's on top of a camera view手动更改相机视图顶部视图的键盘方向
【发布时间】:2010-03-13 03:00:29
【问题描述】:

我基本上是在尝试重现“At Once”应用程序的核心功能。我有一个相机视图和另一个带有文本视图的视图。

我将两个视图都添加到窗口中。到目前为止一切都很好。

[window addSubview:imagePicker.view];
[window addSubview:textViewController.view];

我了解 UIImagePickerController 不支持自动旋转,因此我通过查看 UIDeviceOrientationDidChangeNotifications 并将必要的转换应用于 textViewController.view 来手动处理它。

现在,这里的问题是键盘。如果我什么都不做,它只会停留在纵向模式。我可以通过将以下代码添加到通知处理程序来让它旋转。

[[UIApplication sharedApplication] setStatusBarOrientation:interfaceOrientation];
[textView resignFirstResponder];
[textView becomeFirstResponder];

但是,以下简单的测试会产生奇怪的行为。

  1. 以纵向模式启动应用程序。
  2. 将设备顺时针旋转 90 度。
  3. 将设备逆时针旋转 90 度(回到初始位置)。
  4. 将设备顺时针旋转 90 度。

在第 4 步之后,将显示纵向键盘,而不是横向键盘,并倾斜以适合横向键盘框架。

也许我的方法从一开始就是错误的。我想知道是否有人能够可靠地使键盘更改其方向以响应 setStatusBarOrientation。

【问题讨论】:

    标签: iphone keyboard camera


    【解决方案1】:

    好吧,无论你做什么,都会被破解。相机/选择器只应该在肖像模式下工作。你可以通过搞乱转换来解决这个问题。但不幸的是,当你做这样的黑客攻击时,你不能真正依赖一切正常工作。抱歉,没有最终答案。

    【讨论】:

      猜你喜欢
      • 2021-09-12
      • 1970-01-01
      • 1970-01-01
      • 2014-02-14
      • 2011-06-03
      • 2017-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多