在底部,我必须添加一个标记为“拒绝”的UIButton:
我使用以下代码,它看起来不错(也在模拟器上):
Source.tick
我必须对标签做同样的事情:当用户再次进入ViewController时,在按下rejectButton之后,会出现此标签:
func createRejectButton(){
let rejectButton = UIButton()
rejectButton.setTitleColor(.red, for: .normal)
rejectButton.setTitle("Reject", for: .normal)
rejectButton.frame = CGRect(x: view.frame.width/2 - 100, y: view.frame.height / 2, width: 200, height: 40)
view.addSubview(rejectButton)
rejectButton.addTarget(self, action: #selector(rejectAction), for: .touchUpInside)
if (self.movement.rejected) {
rejectButton.isHidden = true
} else {
rejectButton.isHidden = false
}
//With the frame definition, I get the UIButton centered, but the Y coordinate is off, so I add a vertical spacing to the accountBalanceLabel
let verticalSpacing1 = NSLayoutConstraint(item: rejectButton, attribute: NSLayoutAttribute.top, relatedBy: NSLayoutRelation.equal, toItem: accountBalanceLabel, attribute: NSLayoutAttribute.bottom, multiplier: 1, constant: 15)
NSLayoutConstraint.activate([verticalSpacing1])
}
如果我运行应用程序,除了我没有让被拒绝的标签位于定义的verticalSpacing之外,我在控制台上遇到关于按钮的错误!
如果按钮正常工作,为什么会出现这些错误? (如果我停止调用createRegectedLabel()函数,我会停止获取这些错误。这是我得到的消息:
顺便说一下,我被要求添加按钮和标签符号代码,同时保持接触界面生成器部分不变,所以摆脱它不是一个选项。必须在代码中创建按钮和标签以及它们所需的约束。