将button图像alignment到UIButton的右边缘
有很多关于根据标题文本alignmentbutton图像的线程,但是我找不到将图像alignmentbutton右侧的任何内容。
这不起作用:
button.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 50);
怎样才能正确的alignment一个button的图像? 它可以在故事板中完成吗?
语义:在视图上强制从右向左对我有效
故事板 :
“属性”标签>确保为“图片”select了“内容边缘”标签
那么你改变了'左'的财产不正确,这是你在做什么编程。 换句话说,你从左边填充它
UIEdgeInsetsMake = TOP | LEFT | 底部| 对
以编程方式:
button.imageEdgeInsets = UIEdgeInsetsMake(0, 100, 0, 0);
注意:您可能还必须更改标题插图,具体取决于您的图像的位置
我发现一个棘手的方法更新button的UIImageView
约束
尝试这个
button.imageView?.trailingAnchor.constraint(equalTo: button.trailingAnchor, constant: -8.0).isActive = true button.imageView?.centerYAnchor.constraint(equalTo: button.centerYAnchor, constant: 0.0).isActive = true
但不要忘了加上这个来使约束有效
button.translatesAutoresizingMaskIntoConstraints = false button.imageView?.translatesAutoresizingMaskIntoConstraints = false
使其成为默认语义即未指定或从左向右
并在button.imageEdgeInsets中设置为
UIEdgeInsets(top:0,left:self.view.frame.size.width – (图像大小+alignment空间),bottom:0,right:0)
这将确保无论视图大小是什么,它将始终alignmentbutton右侧的图像
干净的方式来做到这一点在斯威夫特
button.semanticContentAttribute = .forceRightToLeft
希望这可以帮助