我想知道,如何以及何时(viewDidLoad,viewWillAppear,viewDidAppear)可以获得自动调整以适合其部分视图的UIViews帧大小?
答案 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);
这就是你如何获得视图的框架