以Xcode 12 创建ViewController例:
1.创建MyViewController
1.png
2.在xib文件中进行子视图布局,xib中的屏幕尺寸
@interface MyViewController ()
@property (nonatomic, weak) UIView *myView;
@end
@implementation MyViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view from its nib.
"在viewDidLoad获取view的尺寸和xib中的屏幕尺寸相同"
"因为要进行屏幕适配,所以这里不能直接进行子控件布局,但是可以先添加, 例如:"
UIView *myView = [[UIView alloc] init];
self.myView = myView;
[self.view addSubview:myView];
}
- (void)viewWillLayoutSubviews {
[super viewWillLayoutSubviews];
"这里进行对添加的子控件布局,去适配屏幕大小"
"注意:这个方法会执行2次"
self.myView.frame = CGRectMake(CGFloat x, CGFloat y, CGFloat width, CGFloat height);
}
@end
3. xib文件中的屏幕大小和viewDidLoad中获取的是一样的,不能直接用来布局其他代码添加的控件,需要到viewWillLayoutSubviews进行布局
2.jpg
网友评论