美文网首页iOS开发iOS Developer程序员
iOS开发之Xib,Storyboard,代码自动布局的混合使用

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

作者: A迷城 | 来源:发表于2017-06-02 21:14 被阅读143次

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

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

    相关文章

      网友评论

        本文标题:iOS开发之Xib,Storyboard,代码自动布局的混合使用

        本文链接:https://www.haomeiwen.com/subject/qnnufxtx.html