前言:因为项目在空白页面的使用中使用到了DZNEmptyDataSet这个库,但这个库默认的点击按钮的长度为全部宽度-padding,这个与产品整个风格不一致,需要修改为根据按钮文字宽度来自动展示按钮的宽度,但DZNEmptyDataSet使用的事VFL来布局,所以记录下VFL的使用
父控件:contentView,子控件:button
一、让子控件在水平方向居于父控件的中间
//水平居中
NSLayoutConstraint *layout = [NSLayoutConstraint constraintWithItem:self.button
attribute:NSLayoutAttributeCenterX
relatedBy:NSLayoutRelationEqual
toItem:self.contentView
attribute:NSLayoutAttributeCenterX
multiplier:1 constant:0];
[self.contentView addConstraint:layout];
二、让子控件根据内容自动设置宽度,且限制最大最小宽度
//设置宽度
UIButton *btn = xxx;
NSDictionary *views = @{@"button":btn};
NSLayoutConstraint *layout =
[NSLayoutConstraint constraintsWithVisualFormat: @"[button(>=100,<=200)]" options:0 metrics:nil views:views];
[self.contentView addConstraints: layout];