我如何确保我拥有的自定义UIView在iPhone的方向改变后被正确地重新定位



我如何确保自定义UIView在iPhone的方向改变后正确重新定位?

的背景
  • 作为父视图,我有一个带有XIB的UIViewController
  • 我有一个自定义的UIView,它在这个父(通过接口生成器插入XIB)中使用。它以编程的方式在init创建一些UIImageView并通过"self addSubview"添加它们,然后通过"self addSubview:imageView1"类型方法对它们进行定位

所以问题是我如何确保我得到正确的布局这些方向的变化。具体来说:

  1. 我在哪里触发任何这样的重绘自定义UIView?(例如,是否有一个方法在父UIViewController我应该使用来触发?)

  2. 当触发器发生时,我如何请求重绘自定义UIView?我需要一个自定义方法我自己创建像"relayoutCustomView"吗?或者我应该能够使用一个现有的方法在自定义UIView,在这种情况下,我需要确保在自定义UIView,我的布局代码是在一个特定的方法?

谢谢

答案如何-似乎开始工作,不确定这是否是最好的方法:

  1. 在我的自定义视图中分离出布局代码,并放入一个单独的方法,并将其设为public
  2. 此方法将在设置时从自定义视图"init"方法中调用
  3. 现在也在父类中创建了一个"didRotateFromInterfaceOrientation"方法,并从这里调用[1]
  4. 中提到的新的自定义视图布局方法
  5. 注意到它必须是"didRotateFromInterfaceOrientation",因为"didRotateFromInterfaceOrientation"方法不能作为自工作。边界结果尚未改变

听起来怎么样?我没有在任何地方使用"setNeedsDisplay"

最新更新