如何在 Swift 中更改 UIButton 图像的位置

How to change position of image of UIButton in Swift

提问人: 提问时间:7/27/2023 更新时间:7/28/2023 访问量:78

问:

我正在尝试调出我的 UIButton 的几个像素的图像,有人知道如何做到这一点吗?我尝试使用ContentEdgeInset,但它似乎不起作用。

iOS Swift Xcode 按钮 UIBubutton

评论

0赞 Toseef Khilji 7/27/2023
那么你尝试了什么,你想实现什么?
0赞 Chandaboy 7/27/2023
根据您的问题,您将在故事板中的 UIButton ImageInfests(左/右/上/下)上实现它
0赞 7/27/2023
我目前使用并且它几乎有效,但我收到警告,我该如何解决这个问题?securityButton.titleEdgeInsets.top = 50 securityButton.imageEdgeInsets.bottom = 50 securityButton.layer.masksToBounds = true }()'imageEdgeInsets' was deprecated in iOS 15.0: This property is ignored when using UIButtonConfiguration

答:

0赞 Hiral Jotaniya 7/27/2023 #1

imageEdgeInsetshttps://developer.apple.com/documentation/uikit/uibutton/1624034-imageedgeinsets 中所述,已弃用

解决方案如下:

var configuration = UIButton.Configuration.filled()
configuration.title = "Title"
configuration.subtitle = "Subtitle"
configuration.image = UIImage(systemName: "swift")
configuration.titlePadding = 10
configuration.imagePadding = 10
configuration.contentInsets = NSDirectionalEdgeInsets(top: 2,leading: 20, bottom: 2, trailing: 20)

标题和图像填充为 10、垂直填充为 2、水平填充为 20 的按钮。

根据您的要求使用。UIButton.Configuration

评论

0赞 7/27/2023
contentInsets 允许同时移动标题和图像,但我想分别移动图像和文本,知道如何做到这一点吗?我是否必须从按钮中删除标题并在其顶部创建标签,或者我可以单独移动每个标题?
0赞 Hiral Jotaniya 7/28/2023
@bigip您可以在上面进行调整以处理图像和标题的插图,因为我不确定您的设计。但是,您可以设置空的副标题或标题来移动标题,但据我所知,没有直接的方法,因为我们使用的是 imageEdgeInsets。