在LoadView中居中UIView

时间:2012-01-29 17:57:34

标签: iphone objective-c ios cocoa-touch uiviewcontroller

只是想知道在loadView中你们如何在viewcontrollers主视图中集中子视图。我知道如何居中它的代码,但问题是,在loadView中,viewcontrollers主视图框是不正确的,因为它还没有调整它以适应我的tabbar和navbar之间。因此,如果我将子视图置于其中心,则在视图出现时它将不会居中。我做了一点实验,看来viewcontrollers视图在调用viewWillAppear之后和调用viewDidAppear之前的某个地方正确设置了它的框架。在loadView中,任何人都对如何正确完成此操作有任何见解? (覆盖layoutSubviews不是一个选项)

1 个答案:

答案 0 :(得分:2)

如果您希望始终将子视图保留在中心位置,则应在-viewDidLoad-loadView之后,在view属性设置正确后,在子视图中设置正确的框架,并将其autoresizingMask属性设置为UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin|UIViewAutoresizingFlexibleTopMargin|UIViewAutoresizingFlexibleBottomMargin

另请记住将超级视图的autoresizesSubviews设置为YES,可以是xib或初始化代码。