关于SB的Layout优先级(priority)

来源:互联网 发布:vb format 时间 编辑:程序博客网 时间:2024/04/30 21:16

效果图

这里写图片描述
1.当车牌号码中文字长度大于0时,显示左边的label
2.当车牌好码中文字长度大于5时,显示下面的view,以及改变查询按钮的位置

思路:

1.设置车牌号码输入框分别于左侧“车牌号码”以及“豫”的约束,分别设置约束优先级,并且连线。先让“豫”隐藏。当文字长度大于1时,让文本输入框与“豫”的优先级最大
2.同理,分别设置查询按钮与上面的优先级,监听文本长度,设置优先级,具体看代码
这里写图片描述

//车牌号码@property (weak, nonatomic) IBOutlet UITextField *carNumber;//省份简写@property (weak, nonatomic) IBOutlet UILabel *shortP;//下面第二个view@property (weak, nonatomic) IBOutlet UIView *View2;//查询按钮与view1的距离约束@property (weak, nonatomic) IBOutlet NSLayoutConstraint *layoutWithV1;//查询按钮与view2的距离约束@property (weak, nonatomic) IBOutlet NSLayoutConstraint *layoutWithV2;//与车牌号的距离约束@property (weak, nonatomic) IBOutlet NSLayoutConstraint *layoutWithCarNum;//与省份简写的距离约束@property (weak, nonatomic) IBOutlet NSLayoutConstraint *layoutWithShortP;@end@implementation YCBreakViewController- (void)viewDidLoad {    [super viewDidLoad];    self.carNumber.delegate = self;    self.layoutWithV1.priority = 333;    self.layoutWithCarNum.priority = 333;    [self.carNumber addTarget:self action:@selector(textFieldDidChange:)  forControlEvents:UIControlEventEditingChanged];}#pragma mark 文本编辑监听- (void)textFieldDidChange:(UITextField *)textField{    if (textField.text.lastPathComponent > 0) {        self.shortP.hidden = NO;        self.layoutWithShortP.priority = 444;    }    if (textField.text.length >= 6) {        self.View2.hidden = NO;        self.layoutWithV2.priority = 444;    }}
0 0
原创粉丝点击