我试图解决的问题是:
使用 UIImagePicker 时,它会在设备旋转时自行调整。我不希望它这样做,而是应该始终保持纵向。我用谷歌搜索了很多,但没有找到任何解决方案(只是其他人有同样的未解决问题)。唯一的答案是使用私有 API 调用,我宁愿不冒险这样做。
-
然而,我遇到了' method swizzling '——一种在运行时交换方法名称的方法。我打算做什么:
向 UIViewController 添加一个类别,该类别定义了一个方法,例如“customShouldRotate”,定义了不允许旋转的自定义行为。
在运行时将这些方法与 UIViewController 的默认旋转方法混合。
-
不过想了想,可能没那么简单。这就是为什么 - 任何对以下内容的回答将不胜感激。
我正在调整的方法是在 UIViewController,而不是 UIImagePickerController。我不能直接在图像选择器中进行调整,我已经尝试过通过子类化,它似乎是处理旋转的子视图控制器,而不是 UIImagePickerController 本身。混合的方法是否会传递给子类,如果没有,那么是否有解决方法来做到这一点?
它可能不是 UIImagePickerController 中使用的 UIViewController 的正常旋转方法。有没有办法告诉?
Apple 会接受方法调配吗?我没有使用私有 API 调用,但是如果他们无论如何都拒绝它,我也不会过于惊讶。
-
这整个想法是否可行/值得尝试 - 或者,如果有人实际上以不同的方式解决了原始问题,那会更好。