IOS代码实现自动布局

来源:互联网 发布:json key value 数组 编辑:程序博客网 时间:2024/05/22 15:35

代码实现自动布局

直接上代码

UIImage *icon = [UIImage imageNamed:menu.menuIcon];CGSize menuIconSize = icon.size;//在父控件中垂直居中NSLayoutConstraint *menuIconYConstraint = [NSLayoutConstraint constraintWithItem:_menuIcon attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeCenterY multiplier:1.0f constant:0.0f];//与父控件左侧保持20NSLayoutConstraint *menuIconLeftConstraint = [NSLayoutConstraint constraintWithItem:_menuIcon attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeLeading multiplier:1.0f constant:20.0f];//固定控件高度NSLayoutConstraint* menuIconHeightConstraint = [NSLayoutConstraint constraintWithItem:_menuIcon attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0f constant:menuIconSize.height];//固定控件宽度NSLayoutConstraint* menuIconWidthConstraint = [NSLayoutConstraint constraintWithItem:_menuIcon attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0f constant:menuIconSize.width];//将使用AutoLayout的方式来布局[_menuIcon setTranslatesAutoresizingMaskIntoConstraints:NO];menuIconYConstraint.active = YES;menuIconLeftConstraint.active = YES;menuIconHeightConstraint.active = YES;menuIconWidthConstraint.active = YES;CGSize menuNameSize = [NSString stringSizeWithText:menu.menuName andMaxSize:CGSizeMake(MAXFLOAT, MAXFLOAT) andFont:[UIFont systemFontOfSize:14]];//在父控件中垂直居中NSLayoutConstraint *menuNameYConstraint = [NSLayoutConstraint constraintWithItem:_menuName attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:0];//固定控件左侧到同级控件右侧的距离NSLayoutConstraint *menuNameLeftConstraint = [NSLayoutConstraint constraintWithItem:_menuName attribute:NSLayoutAttributeLeft relatedBy:NSLayoutRelationEqual toItem:self.menuIcon attribute:NSLayoutAttributeRight multiplier:1.0 constant:20];//固定控件宽度NSLayoutConstraint *menuNameWithContraint = [NSLayoutConstraint constraintWithItem:_menuName attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:menuNameSize.width];//固定控件高度NSLayoutConstraint *menuNameHeightContraint = [NSLayoutConstraint constraintWithItem:_menuName attribute:NSLayoutAttributeHeight relatedBy:NSLayoutRelationEqual toItem:nil attribute:NSLayoutAttributeNotAnAttribute multiplier:1.0 constant:menuNameSize.height];//将使用AutoLayout的方式来布局[_menuName setTranslatesAutoresizingMaskIntoConstraints:NO];menuNameYConstraint.active = YES;menuNameWithContraint.active = YES;menuNameLeftConstraint.active = YES;menuNameHeightContraint.active = YES;
1 0
原创粉丝点击