设置控件的frame

设置控件的frame

// 通过代码创建当前这个视图的时候会调用

// 初始化当前这个view的时候会调用

1. 1    这个方法中只能添加控件,不能设置控件的frame属性

            - (instancetype)init

1.2 可以添加控件,也可以设置控件的frame,但是设置的frame在控件加载完成后不会在更新

       了(重用的时候不会更新了)

      - (instancetype)initWithFrame:(CGRect)frame

通过文件(XIB,原型**)去创建当前视图的时候调用

2.1  执行这个方法的时候,不能确定文件相关的连线等工作是否都做好了

        - (instancetype)initWithCoder:(NSCoder *)aDecoder

2.2  只有与文件相关的连线等工作都做好的时候,才会调用这个方法,不需要调用父类的什么方法

         - (void)awakeFromNib

3  设置布局子控件的frame

- (void)layoutSubviews

{

[super layoutSubviews];

// 在XCode7 之后可能不会刷新你要获取的控件的frame,需要手动刷新

eg:

[self.titleLabel layoutIfNeeded];

......

}

4> 当一个控制器的frame基于另外一个控制器的frame确定之后才确定,则设置与frame有关的代码要在该方法中调用,

该方法在viewDidLoad之后调用

- (void)viewDidLayoutSubviews

{

[super viewDidLayoutSubviews];

// 要实现的代码

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容