autoresize完成后如何获取帧大小
我想知道,如何以及何时(viewDidLoad,viewWillAppear,viewDidAppear)我可以得到一个UIViews框架的大小已被自动化,以适应其partent视图?
从你的问题中不清楚为什么你想要它,但我想是布局你的子视图。 幸运的是,苹果知道你会想要做到这一点,并实现-(void)layoutSubViews
看到这个: 什么时候layoutSubviews打电话?
我尝试了layoutSubviews
,但它被调用不止一次,这是一个问题,当我需要自动resize的框架,以创build一个CGContext
绘制。
我使用的解决scheme是暴露在我的自定义UIView
的init
方法的父视图控制器调用其viewWillAppear
。
我希望有一种方法可以在自定义的UIView
的实现中完成这一切,但是它避开了我(以及Google和Apple的文档和SO)。
- (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); }
NSLog(@"%f; %f; %f; %f;", yourView.frame.origin.x, yourView.frame.origin.y, yourView.frame.size.width, yourView.frame.size.height);
这是如何得到你的看法框架