只是想知道在loadView中你们如何在viewcontrollers主视图中集中子视图。我知道如何居中它的代码,但问题是,在loadView中,viewcontrollers主视图框是不正确的,因为它还没有调整它以适应我的tabbar和navbar之间。因此,如果我将子视图置于其中心,则在视图出现时它将不会居中。我做了一点实验,看来viewcontrollers视图在调用viewWillAppear之后和调用viewDidAppear之前的某个地方正确设置了它的框架。在loadView中,任何人都对如何正确完成此操作有任何见解? (覆盖layoutSubviews不是一个选项)
答案 0 :(得分:2)
如果您希望始终将子视图保留在中心位置,则应在-viewDidLoad
或-loadView
之后,在view
属性设置正确后,在子视图中设置正确的框架,并将其autoresizingMask
属性设置为UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin
。
另请记住将超级视图的autoresizesSubviews
设置为YES
,可以是xib或初始化代码。