UIButton坑:
1)设置图片+文字默认不会重叠,而是把这两个子view排开放,所以如果button的大小不够容纳两个view,就会只显示一部分。
如果想强行设置重叠,需要设置EdgeInset
[button setImageEdgeInsets:UIEdgeInsetsMake(0, 0, 0, -button.titleLabel.intrinsicContentSize.width)];
[button setTitleEdgeInsets:UIEdgeInsetsMake(0, -button.currentImage.size.width, 0, 0)];
2)设置图片或者文字不能直接调用setter,需要调用setTitle或者setImage,因为是深拷贝
3)frame,bounds区别:
frame的(父控件坐标系):(x,y)=(这个视图距离父控件的左边的距离,这个视图距离父控件的右边的距离)
理解为frame就是“画框”的坐标和大小,画如果有变形或旋转,画框只需要能保证容纳这幅画就可以,不需要改变方向
bounds(自身坐标系):的(x,y)=(frame的x-view的真实x,frame的y-view的真实y)
理解为bounds就是“画”的坐标和大小,而画的大小(bounds的大小)不一定与画框一样大,位置(bounds的xy)也可以不是画框的左上角,如果画旋转方向,bounds的宽和高情况和frame一样