2016-11-07 62 views
8

我正在使用Xcode 8.我试图在左侧添加UIButton,并在Title右侧添加Image。我想保留UIButtonImageTitle之间的距离Storyboard。我在这里看不到Edge选项。任何帮助在这里非常感谢。Xcode 8中没有UIButton Edge选项

回答

7

的Xcode 8故事板:

首先设置标题和图像按钮,并转到尺寸检查,并设置标题插图和形象的插图,这将调整内容所需的位置。在你的情况下设置标题插入左侧和图像插入权。

enter image description here

编程方式:

button.titleEdgeInsets = UIEdgeInsetsMake(top, left, bottom, right); 
button.imageEdgeInsets = UIEdgeInsetsMake(top, left, bottom, right); 

输出:

enter image description here

的Xcode 7故事板:

enter image description here enter image description here

的Xcode 7边缘选项已经从属性检查器移动到尺寸检查节在Xcode 8,并命名为内容的插图,插图标题和图像插图。

+0

我不知道在Xcode 8这种变化。如果我想在标题左侧的按钮右侧添加图像,该怎么做?根据你之前的回答,似乎我必须将图像“正确”选项的值硬编码为300/500像素。但我记得早些时候我们可以选择图像并将其对齐方式设置为按钮的右侧。现在我在这里看不到。任何帮助?这种硬编码值不适用于两个方向。 –

+0

在Xcode8中,您所要求的内容与上面相同。在Xcode7中,您可以通过选择标题或图像来设置边缘的左/右。从Xcode8,同样已被重命名并移动到大小检查器部分即。标题插入和图像插入。如果你愿意,你可以使用硬编码,或者你可以通过使用按钮大小动态地添加间距到按钮。 – Jeyamahesan

+0

这个选项没有帮助我,我会找到我的解决方案,谢谢 –

20

使用故事板

环境:XCode的8

Xcode8

注:在Xcode中8,你会发现在尺寸检查的Edge选项,命名为内容的插图,标题插入和图像插入。

环境:XCode的7

Xcode7

使用代码

斯威夫特3

myButton.titleEdgeInsets = UIEdgeInsetsMake(_ top: CGFloat, _ left: CGFloat, _ bottom: CGFloat, _ right: CGFloat); 
myButton.imageEdgeInsets = UIEdgeInsetsMake(_ top: CGFloat, _ left: CGFloat, _ bottom: CGFloat, _ right: CGFloat); 

目标C

[myButton setTitleEdgeInsets:UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)]; 
[myButton setImageEdgeInsets:UIEdgeInsetsMake(CGFloat top, CGFloat left, CGFloat bottom, CGFloat right)];