如何使用图像和文本制作自定义 UIButton?
Posted
技术标签:
【中文标题】如何使用图像和文本制作自定义 UIButton?【英文标题】:How can I make Custom UIButton with image and text? 【发布时间】:2017-04-11 10:20:57 【问题描述】:正如我在 android 上所做的那样,在布局下安排 ImageView 和 TextView 并在布局上设置 ClickListener,所以我如何在 swift (3.0) Xcode 8
上做同样的事情。
没有像 XML 这样的标记。拖放很难做到。
如何使此视图对所有设备屏幕都具有响应性。
我的用户界面图片如下:
提前致谢。
使用 CollectionView 后显示如下
【问题讨论】:
使用 UICollectionView 并创建您的自定义单元格,如果您想在 uibutton 中使用它,请使用 titleInset 和 image inset,所有屏幕都使用自动布局 您可以使用图像视图和标签来显示图像和文本。然后在没有任何文本/图像的情况下放置一个 UIButton。将这些 UI 元素放在 UICollection 单元格中。 我只有 3 个这样的项目,在这三个项目下放置了另一个项目水平滚动有什么建议吗? 使用 UICollectionView 进行水平滚动。 【参考方案1】:您可以使用此代码为按钮设置图像和标题
let imageSize: CGSize = button.imageView!.image!.size
button.titleEdgeInsets = UIEdgeInsetsMake(26 , -imageSize.width, 0.0, 0.0);
let labelString = NSString(string: button.titleLabel!.text!)
let titleSize = labelString.sizeWithAttributes([NSFontAttributeName: button.titleLabel!.font])
button.imageEdgeInsets = UIEdgeInsetsMake(-15, 0.0, 0.0, -titleSize.width);
【讨论】:
在哪里或在哪个文件中,以及我在 swift 中使用的具体方法。 创建一个以按钮为参数的方法。为按钮设置图像和标题后,将该按钮传递给创建的方法。【参考方案2】:可以在 UIButton 中设置 UIImage + UIText ,供参考 https://developer.apple.com/documentation/uikit/uibutton
【讨论】:
以上是关于如何使用图像和文本制作自定义 UIButton?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用图像和标签制作自定义正确的 UIBarButtonItem?
如何为数组中的每个创建一个具有唯一图像和选择器的自定义 UIButton?
如何在 iOS 中创建一个非常自定义的 uibutton,如 UITableViewCellStyleSubtitle