有没有人跟我一样,明明通过Masonry设置了UIButton自适应,也确实是实现了自适应了,但是button内容都是贴边显示丑的不行,设置imageEdgeInsets不行,设置titleEdgeInsets也不行,每次都要重新计算一下内容宽度再调整下button的宽度,但是忘记了它还有一个contentEdgeInsets的属性,这个才是控制整体内容边距的,UIButton做自适应时别忘了加上contentEdgeInsets设置:
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn setTitle:@"内容自适应" forState:UIControlStateNormal];
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
btn.contentEdgeInsets = UIEdgeInsetsMake(0, 4, 0, 4);
[self.view addsubview:btn];
一句代码搞定UIButton内容自适应,设计再也不会吐槽了~