iOS开发iOS Developer程序员

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

2017-06-02  本文已影响143人  A迷城

        最近在项目中,遇到了一些问题。尤其是维护之前人写的代码,可能很多是已经用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

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

上一篇 下一篇

猜你喜欢

热点阅读