如果我只在一个按钮中放入一个图像,然后将 image EdgeInsets 设置得更靠近顶部,图像就会保持居中,所有的工作都如预期的那样:
[button setImage:image forState:UIControlStateNormal];
[button setImageEdgeInsets:UIEdgeInsetsMake(-15.0, 0.0, 0.0, 0.0)];
如果我只在按钮中放入一个文本,并将 titleEdgeInsets 设置得更靠近底部,那么文本将保持居中位置,并且所有工作都如预期的那样:
[button setTitle:title forState:UIControlStateNormal];
[button setTitleEdgeInsets:UIEdgeInsetsMake(0.0, 0.0, -30, 0.0)];
但是,如果我把4行放在一起,文本会干扰图像,两者都会失去中心对齐。
我所有的图片都有30个像素宽度,如果我在 setTitleEdgeInsets 的 UIEdgeInsetMake 的左参数中放置30个像素宽度,那么文本将再次居中。问题是图像从来不会居中,因为它似乎依赖于 button.titleLabel 大小。我已经尝试了许多计算按钮大小,图像大小,title 标签大小,从来没有得到完美的居中。
有人已经有同样的问题了吗?