iOS 拉去storyboard或者xib的约束,代码修改约束不生效的问题

释放双眼,带上耳机,听听看~!

背景如标题,我在awakeFromNib或者viewDidLoad修改约束的constant值,没有生效,原因是: 你在 viewDidLoad中修改的约束的代码块运行了,但是运行完之后又被 storyboard自己的配置给覆盖了,所以 你看到的还是之前的约束!这就说明storyboard的初始化优先于它对应的vc的viewDidLoad。

解决办法: 让修改 constant值或者约束的语句延迟执行即可!即使是 0.1秒,也能让 在storyboard初始完成之后你再修改相应的约束,这样就不会被覆盖掉了

-(void)awakeFromNib{
[super awakeFromNib];
[self performSelector:@selector(changeConstant) withObject:nil afterDelay:0.1];
}
//或者
-(void)viewDidLoad{
[super awakeFromNib];
[self performSelector:@selector(changeConstant) withObject:nil afterDelay:0.1];
}
-(void)changeConstant{
self.changeMcodelW.constant= 200*IPAD_SIZE;
self.changeMCodeBTnVH.constant = 46*IPAD_SIZE;
self.helpLayConVh.constant = 46*IPAD_SIZE;
self.cheakUpdataLayonH.constant=46*IPAD_SIZE;
self.changeFInfoVH.constant = 46*IPAD_SIZE;
self.changeFaceinfoLW.constant=150*IPAD_SIZE;
self.checkUpadataLw.constant = 100*IPAD_SIZE;
self.versionLayConW.constant = 86*IPAD_SIZE;
self.logoutBtnLayConW.constant = 49*IPAD_SIZE;
self.logoutBtnLayConT.constant = 60*IPAD_SIZE;
}

人已赞赏
iOS文章

iOS基础深入补完计划--网络模块NSURLSession概述

2020-3-6 11:24:16

iOS文章

iOS录音-剪切-计算时长,播放

2020-3-6 12:18:49

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索