如何在自动调整大小后获取帧大小

时间:2011-09-02 12:37:07

标签: iphone ios uiview frame cgrect

我想知道,如何以及何时(viewDidLoad,viewWillAppear,viewDidAppear)可以获得自动调整以适合其部分视图的UIViews帧大小?

4 个答案:

答案 0 :(得分:1)

从您的问题中不清楚为什么要这样,但我想是布局子视图。幸运的是,Apple知道你会想要这样做并实施-(void)layoutSubViews,请看:When is layoutSubviews called?

答案 1 :(得分:0)

我尝试了layoutSubviews,但是当我需要自动调整大小的框架以创建要绘制的CGContext时,它会被多次调用,这是一个问题。

我使用的解决方案是在我的自定义init上公开UIView方法,让其父视图控制器在其viewWillAppear中调用。

我希望有一种方法可以在自定义UIView的实现中实现这一切,但它使我(以及Google和Apple的文档和SO)无法实现。

答案 2 :(得分:0)

- (void)viewDidAppear:(BOOL)animated {
    CGFloat uIViewWidth = self.uIView.bounds.size.width;
    CGFloat uIViewHeight = self.uIView.bounds.size.height;
    CGRect uIViewSize = CGRectMake(0, 0, uIViewWidth, uIViewHeight);
}

答案 3 :(得分:-6)

    NSLog(@"%f; %f; %f; %f;", yourView.frame.origin.x, yourView.frame.origin.y, yourView.frame.size.width, yourView.frame.size.height);

这就是你如何获得视图的框架

相关问题