swift-UIButton设置image上下左右位置
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift-UIButton设置image上下左右位置相关的知识,希望对你有一定的参考价值。
参考技术A ios15:比较简单了(苹果为啥到了iOS15才想起来按钮还需要这个功能呢)。Button新增UIButton.Configuration用来配置iOS15之前,需要extension UIButton
使用:
Swift - UIButton 以编程方式设置约束
【中文标题】Swift - UIButton 以编程方式设置约束【英文标题】:Swift - UIButton setting constraints programmatically 【发布时间】:2019-11-22 18:51:37 【问题描述】:我在为UIButton
设置height
和width
constraints
时遇到问题。我不知道为什么这段代码不起作用:
let wishButton: UIButton =
let v = UIButton()
v.setImage(UIImage(named: "wishButton"), for: .normal)
v.translatesAutoresizingMaskIntoConstraints = false
v.addTarget(self, action: #selector(wishButtonTapped), for: .touchUpInside)
return v
()
这些是我的限制:
wishButton.centerXAnchor.constraint(equalTo: popUpView.centerXAnchor).isActive = true
wishButton.centerYAnchor.constraint(equalTo: popUpView.centerYAnchor, constant: 150).isActive = true
wishButton.heightAnchor.constraint(equalToConstant: 100).isActive = true
wishButton.widthAnchor.constraint(equalToConstant: 100).isActive = true
现在是这样的:
这很奇怪,因为其他两个 constraints
工作正常。可能只是一个愚蠢的错误,但我很新,感谢每一个帮助:)
【问题讨论】:
您能分享一下您的按钮当前外观的屏幕截图吗?另外,设置 v.clipsToBounds=true @KeshuRai 刚刚编辑了我的问题 :) 按钮是黑色方块,整个是wishButton
图像,还是里面有按钮的视图?如果您可以显示如何添加约束/呈现按钮的代码,这也会有所帮助。
【参考方案1】:
约束没有问题。问题在于图像。您的图像不够大,无法填满框架。您可以设置按钮的.setBackgroundImage
,使其自动伸缩。
v.setBackgroundImage(UIImage(named: "wishButton"), for: .normal)
或者您可以使 content Alignment 在两个方向上都等于 .fill
。
【讨论】:
你说得对,这就是问题所在 :) @Ashmet Bhui 也说了,谢谢你们!【参考方案2】:我注意到的一件事是您似乎没有设置按钮的框架。
在初始化按钮后尝试添加这一行:
v.frame = CGRect(x: 0, y: 0, width: 100, height: 100)
我不确定是否需要,但如果您的按钮根本没有显示,这可能会解决问题
【讨论】:
我看到您发布了一张图片...哪个对象是看起来不正确的按钮?想要的外观是什么? 底部的圆圈。我只是想改变它的大小【参考方案3】:将此添加到您的 UIButton 初始化中,它将起作用
v.contentVerticalAlignment = .fill
v.contentHorizontalAlignment = .fill
它将缩放您的图像。
let wishButton: UIButton =
let v = UIButton()
v.setImage(UIImage(named: "wishButton"), for: .normal)
v.translatesAutoresizingMaskIntoConstraints = false
v.contentVerticalAlignment = .fill
v.contentHorizontalAlignment = .fill
v.addTarget(self, action: #selector(wishButtonTapped), for: .touchUpInside)
return v
()
【讨论】:
就是这样 :) 非常感谢!以上是关于swift-UIButton设置image上下左右位置的主要内容,如果未能解决你的问题,请参考以下文章
div + css,UL的LI 中,对LI设置了list-style-image,LI中的文字是放在a标签中的,如何让图片和文字对齐?