gpt4 book ai didi

ios - 如何创建带有图标下标题和外框的按钮

转载 作者:行者123 更新时间:2023-11-30 11:09:17 24 4
gpt4 key购买 nike

我想创建带有像this这样的图像的按钮

这是我的代码,但其他型号的 iPhone 则不然:

extension ButtonWithImage {
func alignVertical(spacing: CGFloat = 6.0) {
guard let imageSize = self.imageView?.image?.size else { return }
guard let titleSize = titleLabel?.intrinsicContentSize else{return}

// Title Edge Insets
let titleEdgeInsets = UIEdgeInsets(top: 0.0 ,
left: -imageSize.width,
bottom: -(self.frame.size.height + 2*spacing),
right: 0.0)
self.titleEdgeInsets = titleEdgeInsets

self.imageEdgeInsets = UIEdgeInsets(top: 0.0,
left: 0.0,
bottom: 0.0,
right: -titleSize.width)

self.contentEdgeInsets = UIEdgeInsets(top: spacing,//edgeOffset,
left: 0.0,
bottom: spacing,//edgeOffset,
right: 0.0)
}
}

titleEdgeInsets 中的底部对于任何型号的 iPhone 都有什么值(value)?

最佳答案

请使用以下扩展程序进行简单使用

extension UIButton {

func alignCenter(withPadding: CGFloat = 6.0) {
guard
let imageViewSize = self.imageView?.frame.size,
let titleLabelSize = self.titleLabel?.frame.size else {
return
}

let totalHeight = imageViewSize.height + titleLabelSize.height + padding

self.imageEdgeInsets = UIEdgeInsets(
top: -(totalHeight - imageViewSize.height),
left: 0.0,
bottom: 0.0,
right: -titleLabelSize.width
)

self.titleEdgeInsets = UIEdgeInsets(
top: 0.0,
left: -imageViewSize.width,
bottom: -(totalHeight - titleLabelSize.height),
right: 0.0
)

self.contentEdgeInsets = UIEdgeInsets(
top: 0.0,
left: 0.0,
bottom: titleLabelSize.height,
right: 0.0
)
}

}

关于ios - 如何创建带有图标下标题和外框的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52347962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com