如果你使用文字按钮或者图片按钮,UIButton
不会给你找麻烦。如果你使用文字 + 图片组成的按钮,你就会意识到 UIButton
这货有多变态。
UIButton
将图片放在左边,文字放在右边,这个规则是固定的,没有一个简单的设置项来安排图片和文字的相对位置。
UIButton
中的文字和图片都可以通过属性访问:
@property(nullable, nonatomic,readonly,strong) UILabel *titleLabel;
@property(nullable, nonatomic,readonly,strong) UIImageView *imageView;
但给这两个控件设置 frame
一点用都没有。只能老老实实通过 UIButton 提供的这两个属性迂回地设置相对位置:
@property(nonatomic) UIEdgeInsets titleEdgeInsets;
@property(nonatomic) UIEdgeInsets imageEdgeInsets;
UIEdgeInsets
类型表示上下左右四个边的向内方向上的偏移量,可正可负,一般是用来设置内边距的。titleEdgeInsets
和