我刚刚在Swift中启动了一个iOS应用程序,我正在以编程方式进行设计(我的意思是我没有使用情节提要)
我有一个带有图像的UIButton,我希望图像填充整个按钮。现在,它只是在我的按钮中显示图像,但是比按钮小,位于按钮框架顶部的中心。
我的代码是:
let buttonLocation = UIButton(frame: CGRect(x: 0, y: 0, width: buttonRoundedSize, height: buttonRoundedSize))
buttonLocation.setImage(UIImage(named: "locate_button"), for: .normal)
buttonLocation.backgroundColor = .white
buttonLocation.layer.cornerRadius = frame.width / 2
buttonLocation.myExtension()
这是我尝试过的东西(这些都不起作用):
self.imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
self.autoresizingMask = .flexibleWidth
self.autoresizingMask = .flexibleHeight
self.imageView?.contentMode = .scaleAspectFill
如果我只是将contentMode行放在那也不行。 imageView不会返回零,我已经检查过了。
谢谢!
答案 0 :(得分:0)
将contentMode
buttonLocation's
的{{1}}设置为imageView
或scaleAspectFill
,以覆盖scaleToFill
的整个frame
。 / p>
button
示例:
答案 1 :(得分:0)
您需要使用setBackgroundImage属性而不是setImage。
buttonLocation.setBackgroundImage(UIImage(named: "locate_button"), for: .normal)
答案 2 :(得分:0)
也许这可以帮助您:
for ( $i = $startDate; $i <= $endDate; $i = $i + 86400 ) {
$thisDate = date( 'Y-m-d', $i );
$dayofweek = date('l', strtotime($thisDate));
}
您需要添加let buttonLocation = UIButton(type: .custom)
buttonLocation.frame = CGRect(x: 0, y: 0, width: buttonRoundedSize, height: buttonRoundedSize)
buttonLocation.setImage(UIImage(named: "locate_button"), for: .normal)
buttonLocation.imageView?.contentMode = .scaleAspectFill
buttonLocation.contentHorizontalAlignment = .fill
buttonLocation.contentVerticalAlignment = .fill
buttonLocation.backgroundColor = .white
buttonLocation.layer.cornerRadius = frame.width / 2
buttonLocation.clipsToBounds = true
和contentHorizontalAlignment
属性,并且不要忘记将contentVerticalAlignment
设置为true才能看到拐角Raius效果。
答案 3 :(得分:0)
尝试使用以下代码,并删除为此按钮设置的其他属性:
let buttonLocation = UIButton(frame: CGRect(x: 50, y: 50, width: 100, height: 100))
buttonLocation.setImage(UIImage(named: "cat"), for: .normal)
buttonLocation.backgroundColor = .white
buttonLocation.layer.cornerRadius = 50
buttonLocation.imageView?.contentMode = .scaleAspectFill
buttonLocation.clipsToBounds = true
self.view.addSubview(buttonLocation)
在此请确保您在按钮中设置的图像大于按钮的边框。您可以在上面的代码中更改框架和拐角半径值。我只是尝试使用上面的代码并获得下面的输出。
如果这不是您的预期输出,则可以发表评论。
希望这会有所帮助。