我如何确保自定义UIView在iPhone的方向改变后正确重新定位?
的背景- 作为父视图,我有一个带有XIB的UIViewController
- 我有一个自定义的UIView,它在这个父(通过接口生成器插入XIB)中使用。它以编程的方式在init创建一些UIImageView并通过"self addSubview"添加它们,然后通过"self addSubview:imageView1"类型方法对它们进行定位
所以问题是我如何确保我得到正确的布局这些方向的变化。具体来说:
我在哪里触发任何这样的重绘自定义UIView?(例如,是否有一个方法在父UIViewController我应该使用来触发?)
当触发器发生时,我如何请求重绘自定义UIView?我需要一个自定义方法我自己创建像"relayoutCustomView"吗?或者我应该能够使用一个现有的方法在自定义UIView,在这种情况下,我需要确保在自定义UIView,我的布局代码是在一个特定的方法?
谢谢
答案如何-似乎开始工作,不确定这是否是最好的方法:
- 在我的自定义视图中分离出布局代码,并放入一个单独的方法,并将其设为public
- 此方法将在设置时从自定义视图"init"方法中调用
- 现在也在父类中创建了一个"didRotateFromInterfaceOrientation"方法,并从这里调用[1] 中提到的新的自定义视图布局方法
- 注意到它必须是"didRotateFromInterfaceOrientation",因为"didRotateFromInterfaceOrientation"方法不能作为自工作。边界结果尚未改变
听起来怎么样?我没有在任何地方使用"setNeedsDisplay"