iOS开发之Xib,Storyboard,代码自动布局的混合使用

        最近在项目中,遇到了一些问题。尤其是维护之前人写的代码,可能很多是已经用XIB布局好了。但是在后续需求中,要修改里面某个UILabel或者其他的约束。所以在这里,将我的修改做法说一下,分享给大家。

//喜欢的点个❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️

思路:首先要拿到修改的那个控件的约束。拉线到文件中,进行修改。

简单实例如下:

1.

约束1,后面图会将右边图去掉。


2.找到要修改的约束,拉到文件中


注意选住自己要修改的约束

3.代码如下

//Created by张建on 2017/6/2.

//Copyright © 2017年张建. All rights reserved.

//

#import"ViewController.h"

@interfaceViewController(){

NSString*nameStr;

}

@property(weak,nonatomic)IBOutletUILabel*nameLb;

//这就是xib上的约束。

@property(weak,nonatomic)IBOutletNSLayoutConstraint*nameLbWidth;

@end

@implementationViewController

- (void)viewDidLoad {

[superviewDidLoad];

//延迟加载。必要时候

[selfperformSelector:@selector(changeNameLbWidth)withObject:nilafterDelay:0.1];

}

- (void)changeNameLbWidth{

self.nameLb.text=@"我的大刀早已饥渴难耐!";

nameStr=self.nameLb.text;

CGFloatnameWidth =self.nameLb.frame.size.width;

//float nameWidth = [self getWidthFromString:nameStr height:self.nameLb.frame.size.height font:[UIFont systemFontOfSize:15]];

self.nameLbWidth.constant= nameWidth +100;

self.nameLb.frame=CGRectMake(self.nameLb.frame.origin.x,self.nameLb.frame.origin.y, nameWidth,self.nameLb.frame.size.height);

}

//喜欢的点个❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️

@end

//喜欢的点个❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️

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

相关阅读更多精彩内容

友情链接更多精彩内容