我想在一个按钮中显示图像和标题,然后我尝试 setImageEdgeInsets 和 setTitleEdgeInsets。但这让我感到困惑。
在设置 insets 属性之前,按钮如下所示(黑色矩形代表按钮边界,红色矩形代表图像矩形,绿色矩形代表标题矩形。)
附加说明:我的图片的实际大小是我使用的两倍,这意味着
** [image size].width = imageWidth * 2 **
然后我使用 setImageEdgeInsets 函数来设置图像矩形
[btn setImageEdgeInsets:UIEdgeInsetsMake((btnHeight-titleHeight-imageHeight)/2.0,
(btnWidth-imageWidth)/2,
titleHeight+(btnHeight-titleHeight-imageHeight)/2.0,
(btnWidth-imageWidth)/2)];
现在按钮喜欢这个
然后我使用 setTitleEdgeInsets 函数来设置标题矩形
我首先认为代码应该是:
[btn setTitleEdgeInsets:UIEdgeInsetsMake(btnHeight-titleHeight, 0, 0, 0)];
但实际上按钮喜欢这个
我也尝试代码:
[btn setTitleEdgeInsets:UIEdgeInsetsMake(btnHeight-titleHeight, -imageWidth, 0, 0)];
按钮现在喜欢这个
然后我尝试代码:
[btn setTitleEdgeInsets:UIEdgeInsetsMake(btnHeight-titleHeight, -imageWidth*2, 0, 0)];
很有效!
但我现在很困惑!为什么标题的左插图应该是负数?为什么它与图像的宽度有关?