在UIScrollView中旋转UIViewControllers

时间:2012-08-13 16:36:41

标签: objective-c ios uiviewcontroller uiscrollview autorotate

UIViewController UIScrollView。{ UIScrollView包含多个UIViewControllers(例如PageControl Apple示例) UIViewController中的每个内部UIScrollView都可以处理UIInterfaceOrientation的更改并重绘其视图。
但是当UIViewControllers位于UIScrollView时,旋转事件永远不会到达内部UIViewControllers

如何让内部UIViewControllers处理旋转事件?
提前谢谢。

2 个答案:

答案 0 :(得分:0)

只有viewController结构中的viewController(如tabbarcontroller或navigationcontroller)才能获取(并处理)旋转事件。如果你刚刚添加了一些viewControllers的视图,它们实际上不会旋转,但是它们会相应地改变它们的frameize到主视图的新大小。通常,您应该在每个视图上使用autoresizingMasks。在文档中阅读它们。

但是在scrollView中可能没有自动布局。您可以在主视图中覆盖layoutSubviews:以基于scrollView框架处理所有scrollView子视图的布局。

答案 1 :(得分:0)

也许您可以检测设备何时旋转,然后使用transform属性使用CGAffineTransformMakeRotation(-M_PI_2)以编程方式应用必要的旋转,例如......