相关疑难解决方法(0)

将UIButton上的文本和图像与imageEdgeInsets和titleEdgeInsets对齐

我想在两行文本左侧放置一个图标,使得图像和文本开头之间有大约2-3个像素的空间.控件本身是水平居中对齐的(通过Interface Builder设置)

该按钮类似于以下内容:

|                  |
|[Image] Add To    |
|        Favorites |
Run Code Online (Sandbox Code Playgroud)

我试图用contentEdgeInset,imageEdgeInsets和titleEdgeInsets配置它无济于事.我知道负值会扩大边缘,而正值会缩小它以使其更接近中心.

我试过了:

[button setTitleEdgeInsets:UIEdgeInsetsMake(0, -image.size.width, 0, 0)];
[button setImageEdgeInsets:UIEdgeInsetsMake(0, button.titleLabel.bounds.size.width, 0, 0)];
Run Code Online (Sandbox Code Playgroud)

但这不能正确显示.我一直在调整这些值,但是从左边的插入值开始说-5到-10似乎没有按照预期的方式移动它.-10会将文本一直向左移动,所以我预计-5会将它从左侧拉出一半,但事实并非如此.

插图背后的逻辑是什么?我不熟悉图像放置和相关术语.

我用这个SO问题作为参考,但关于我的价值观的事情是不对的. UIButton:如何使用imageEdgeInsets和titleEdgeInsets使图像和文本居中?

iphone uibutton uikit ios

239
推荐指数
11
解决办法
20万
查看次数

标签 统计

ios ×1

iphone ×1

uibutton ×1

uikit ×1