Xcode 8中没有UIButton的边缘选项

10

我正在使用 Xcode 8。我想在 UIButton 上添加一个左侧为Image,右侧为Title的按钮。我想在Storyboard中保持ImageTitle之间的距离。但我在这里找不到Edge选项。非常感谢任何帮助。

2个回答

24

使用 Storyboard

环境:XCode 8

Xcode8

注意:在 Xcode 8 中,您将在大小检查器中找到名为 Content Insets、Title Insets 和 Image Insets 的 Edge 选项。

环境:XCode 7

Xcode7

使用 代码

Swift 3

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

Objective C

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

9

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 StoryBoard:

enter image description here enter image description here

Xcode 7中,Edge选项从Attribute检查器移至Size检查器区,并更名为Content insets、Title insets和Image insets。


我不知道 Xcode 8 中的这个更改。如果我想在标题左侧的按钮右侧添加图像,应该如何操作?根据你之前的答案,似乎我必须将图像“右侧”选项的值硬编码为一些 300/500 像素。但是我记得之前我们有选择图像并设置其对齐方式到按钮右侧的选项。现在我在这里看不到它。有什么帮助吗?这些硬编码值在两种方向上都无法工作。 - AskIOS
你所要求的在Xcode8中已经发生了变化。在Xcode7中,您可以通过选择标题或图像来设置左/右边缘。从Xcode8开始,相同的内容已被重命名并移动到大小检查器部分,即标题插入和图像插入。如果您愿意,您可以硬编码或者通过使用按钮大小动态添加间距来调整按钮。 - Jeyamahesan
这些选项对我没有帮助,我会自己找到解决方案,谢谢。 - AskIOS
你的问题明确说明了在按钮上设置左/右间距的边缘选项丢失,给出的答案是Xcode8中替代边缘选项的方法。这就是Xcode8中确切的边缘选项。我不知道为什么对你没有帮助。请解释一下,如果您对此有任何进一步的问题,请更新问题。谢谢。 - Jeyamahesan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接