【问题标题】:Rotation behaviour like UIImagePickerController像 UIImagePickerController 这样的旋转行为
【发布时间】:2012-11-11 22:47:59
【问题描述】:

我需要创建自己的 ImagePicker,因为 UIImagePickerController 无法满足我的需求。此 ImagePicker 的外观和行为应与原始 UIImagePickerController 相似,但在相机预览和按钮之间有一个 UIView,以便我可以将图像(例如网格)显示为叠加图像。

为此,我将使用 AV Foundation 框架,无论出于何种原因,它(对我而言)比我想要实现的旋转行为更容易理解。这就是问题所在: 在原始的 UIImagePickerController 中,“拍照”按钮始终位于 iPhone 的主页按钮旁边,但其内容会旋转到正确的方向。 “闪光灯”和“切换相机”按钮始终位于顶部边缘。

我怎样才能实现这样的行为?我需要多少个 ViewControllers / Views 以及层次结构如何?

【问题讨论】:

    标签: iphone rotation orientation uiimagepickercontroller viewcontroller


    【解决方案1】:

    它可以在一个视图中完成;) 对我来说,每个按钮和一个父视图听起来很合理......所以 4!?

    应用变换视图 (CGAffineTransformRotate) 来对抗设备旋转

    view.transform = CGAffineTransformMakeRotation(angle);
    

    【讨论】:

    • 到目前为止,我只有旋转整个界面的经验。我被困在如何将照片按钮“粘合”到手机的主页按钮旁边,无论手机朝哪个方向旋转,而其他视图旋转,就像我旋转整个界面时我所期望的那样。我认为将所有视图放在一起的容器也不应该旋转..
    • 好吧,这不完全是我想要的答案,但它明确地为我指明了正确的方向。 :) 我所做的如下: - 创建一个仅支持纵向的 ViewController - 注册 UIDeviceOrientationDidChangeNotification - 当方向改变时,使用 [UIDevice currentDevice].orientation 确定方向 - 根据方向设置按钮变换属性(例如 CGAffineTransformMakeRotation (M_PI * 0 / 180.0) 纵向,CGAffineTransformMakeRotation(M_PI * 90 / 180.0) 横向左)
    • 这看起来很酷。让它成为一个答案,接受它,我发表我的评论! - 是的:) 现在你做到了,那就更好了。 :D
    猜你喜欢
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多