我正在尝试在iOS应用中为视图添加按钮。在Main.storyboard文件中,按钮显示如下:
然而,每当我启动模拟器时,按钮显示为:
如果有帮助,我将按钮与自定义类配对,包括:
import UIKit
class RoundedButton: UIButton {
override func awakeFromNib() {
super.awakeFromNib()
layer.borderWidth = 1
layer.borderColor = UIColor.blue.cgColor
contentEdgeInsets = UIEdgeInsets(top: 5, left: 5, bottom: 5, right: 5)
}
}
但我不相信这是问题的原因。我认为问题源于我对xCode中扩展如何工作缺乏了解,但我无法找到有关如何解决此问题的任何资源。
谢谢!
答案 0 :(得分:0)
为按钮添加约束并检查。如果添加必要的约束,它将是完美的。
答案 1 :(得分:0)
约束用于告诉设备对象应该在哪里以及它们的大小,即使使用不同的设备,也可以创建模式。请记住,您始终必须配置X,Y,宽度和高度,以便完美地放置元素。标签除外,有时不需要宽度和高度限制。
对于您的按钮,添加约束以水平,垂直,宽度和高度对齐应该有效。
答案 2 :(得分:0)
为按钮添加必要的约束。您可以添加故事板或以编程方式添加。
以编程方式:
let horConstraint = NSLayoutConstraint(item: yourButton!, attribute: .centerX, relatedBy: .equal,
toItem: view, attribute: .centerX,
multiplier: 1.0, constant: 0.0)
let verConstraint = NSLayoutConstraint(item: yourButton!, attribute: .centerY, relatedBy: .equal,
toItem: view, attribute: .centerY,
multiplier: 1.0, constant: 0.0)
let widConstraint = NSLayoutConstraint(item: yourButton!, attribute: .width, relatedBy: .equal,
toItem: view, attribute: .width,
multiplier: 0.95, constant: 0.0)
let heiConstraint = NSLayoutConstraint(item: yourButton!, attribute: .height, relatedBy: .equal,
toItem: view, attribute: .height,
multiplier: 0.95, constant: 0.0)
view.addConstraints([horConstraint, verConstraint, widConstraint, heiConstraint])