UIButton titleLabel 文本底部到其框架

Posted

技术标签:

【中文标题】UIButton titleLabel 文本底部到其框架【英文标题】:UIButton titleLabel text bottom to its frame 【发布时间】:2018-04-16 08:06:49 【问题描述】:

如何将 UIButton titleLabel 文本显示到其框架的底部。目前我正在使用 UIEdge 上边距并设置负 UIButton 图像宽度,结果不如预期。我还想将图像中心放置在其框架上。 `

let leftButton: UIButton = 
            let button = UIButton()
            button.layer.borderWidth = 2
            button.layer.borderColor = UIColor.ublGray1().cgColor
            button.setImage(UIImage.init(named: leftButtonImage)?.withRenderingMode(.alwaysTemplate), for: .normal)
            button.tintColor = UIColor.cerulean()
            button.layer.masksToBounds = false
            button.layer.cornerRadius = 37
            button.translatesAutoresizingMaskIntoConstraints = false
            button.setTitle(leftButtonTitle, for: .normal)
            button.titleEdgeInsets = UIEdgeInsets(top: 110, left: -26, bottom: 0, right: 0)[![enter image description here][1]][1]
            button.imageEdgeInsets = UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 0)
            button.setTitleColor(UIColor.charcoalGrey(), for: .normal)
            button.titleLabel?.font = UIFont.aspiraMedium(size: 16)
            return button
        ()

`

【问题讨论】:

我想使用包含imageViewlabelbuttonUIView。就 aulayouts、contentMode、多行文本而言,这将是简单而合适的。 【参考方案1】:

你可以试试这样的。

【讨论】:

它不是单独的标签,看我给你看一个箭头。 感谢您的回复,但是当您将图像分配给 uibutton 时,结果会有所不同【参考方案2】:

如何将“标题插图” - 底部 - 设置为负数?它有效。

但如果你想让它粘在框架的底部,它就行不通了,所以……这个怎么样:

bt.titleEdgeInsets.top = (bt.imageView?.safeAreaInsets.bottom)!

bt.titleEdgeInsets.top = (bt.imageView?.alignmentRectInsets.bottom)!

【讨论】:

以上是关于UIButton titleLabel 文本底部到其框架的主要内容,如果未能解决你的问题,请参考以下文章

MvvmCross 绑定到 UIButton.TitleLabel.Text

为 UIButton 设置 titleLabel

将 UIButton 的 titleLabel 文本与自动布局匹配在固定的恒定宽度上

更新 titleLabel UIButton

UIButton.titleLabel.frame.size 始终为零值

UIButton:根据titleLabel Text计算UIButton的高度