ios - Autolayout - UIButton 的固有大小不包括标题插入

标签 ios cocoa-touch uiview uibutton autolayout

如果我有一个使用自动布局排列的 UIButton,它的大小会很好地调整以适应它的内容。

如果我将图像设置为 button.image,内部尺寸似乎又是一个原因。

但是,如果我调整按钮的 titleEdgeInsets,布局不会考虑到这一点,而是会截断按钮标题。

如何确保按钮的固有宽度考虑到插入?

enter image description here

编辑:

我正在使用以下内容:

[self.backButton setTitleEdgeInsets:UIEdgeInsetsMake(0, 5, 0, 0)];

目标是在图像和文本之间添加一些分隔。

最佳答案

通过结合使用负标题和正标题和内容插入,您可以在 Interface Builder 中使用它(无需编写任何代码)。

enter image description here

更新:Xcode 7 有一个错误,您不能在 Right Inset 字段中输入负值,但您可以使用它旁边的步进器控件可减小该值。 (感谢斯图尔特)

这样做会在图像和标题之间增加 8pt 的间距,并且会将按钮的固有宽度增加相同的量。像这样:

enter image description here

关于ios - Autolayout - UIButton 的固有大小不包括标题插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17800288/

相关文章:

ios - 仅在单击后 UIView 才在动态 UITableViewCell 中正确调整大小

iphone - 添加 UIImagePickerController 时的警告

iphone NSDate 转换问题

ios - IOS 的 Facebook API

ios - 如何在 block 外部保持引用有效(启用ARC)?

iphone - iOS 将文件从主包复制到文档目录

ios - 在 UIView 顶部添加内部阴影

ios - 屏幕左侧的 UIButton(在 iOS 7 导航滑动区域)未突出显示

ios - 如何在 Swift 中保存 View 及其 subview 的屏幕截图?

ios - 适用于 iOS 的 Windows 上的 Cordova 开发