gpt4 book ai didi

ios - 将图像添加到按钮时,如何禁用UIButton的标题向右移动?

转载 作者:行者123 更新时间:2023-12-01 19:39:25 25 4
gpt4 key购买 nike

我创建了一个自定义的UIButton类,以在屏幕的右边缘显示按钮的图像。

代码如下-

class CutomButton: UIButton {    
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}

required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}

func setup() {
imageView?.translatesAutoresizingMaskIntoConstraints = false
imageView?.trailingAnchor.constraint(equalTo: trailingAnchor, constant: -8).isActive = true
imageView?.centerYAnchor.constraint(equalTo: centerYAnchor).isActive = true
}
}

上面的代码按预期工作。但是,按钮的标题向右移动,就像imageView处于其原始位置一样(位于标题的左侧)。

谁能指出按钮的标题如何放置在其原始位置,就像按钮的图像不存在一样?

最佳答案

默认情况下,UIButton类在内部进行管理,但是您确实有一些选择:

简易模式:修改UIButton中定义的边缘插图:titleEdgeInsetsimageEdgeInsets。在另一个SO post上查找之前的答案,该答案足够相似,但是您只需根据需要进行修改即可。

高级(但更灵活)模式:由于您正在创建子类,因此可以代替UIControl而不是UIButton子类。由于UIButton是UIControl的子类,因此触摸事件仍以与UIButton相同的方式注册,并且您可以重写isHighlighed / isSelected以控制“自定义按钮”在触摸状态下的显示方式。

关于ios - 将图像添加到按钮时,如何禁用UIButton的标题向右移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56651665/

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