swift UIButton配置换行符模式不工作

9jyewag0  于 2023-03-28  发布在  Swift
关注(0)|答案(1)|浏览(148)

我知道有一些关于这个的帖子,但没有一个是有效的。
我只是尝试使用UIButton.Configuration方法获取我的自定义UIButton子类,以强制我的标题标签保持1行,而不更改按钮框架。
我一直得到下面显示的正确按钮...

我能做什么??这是我如何通过按钮设置的。

init(withTitle title: String, ... <more custom params> ...) {

    // ...

    super.init(frame: .zero)

    var config = UIButton.Configuration.filled()
    config.title = title

    titleLabel?.lineBreakMode = .byTruncatingTail
    titleLabel?.numberOfLines = 1
                
    configurationUpdateHandler = { button in

        // ... here I handle colorizing elements for different button states /

    }

}

我知道我可以通过使用标准的let button = UIButton(type: .custom)来完成文本裁剪,并设置titleLabel行属性。这不是一个解决方案-否则配置提供的自定义不可用。

qxsslcnc

qxsslcnc1#

我并不以此为荣。

button.configurationUpdateHandler = { button in
    if let titleLabel = button.titleLabel {
        DispatchQueue.main.async {
            titleLabel.numberOfLines = 1
            titleLabel.lineBreakMode = .byTruncatingTail
        }
    }
}

相关问题