我目前有我的主视图设置,当我点击UILabel
时,它会将其'不透明度更改为0并且文本字段最初被隐藏并且其'不透明度设置为0,并显示上述值倒置(hidden = false, opacity = 1
)。
我打算经常交换这两个视图之间的值,所以我认为使用swap(_:_:)
函数是理想的。不幸的是,我得到的错误是UILabel
和UITextField
不是同一类型:
Cannot convert value of type 'UITextField!' to expected argument type 'UILabel'
有没有办法解决这个问题,还是我会被困在创建自己的功能?
@IBAction func onTapToEnterBillAmount(_ sender: UITapGestureRecognizer) {
UIView.animate(withDuration: 0.2, animations: {
swap(&self.tapToEnterBillAmountLabel, &self.billAmountTextField)
})
}
答案 0 :(得分:1)
由于swap(_:_:)
要求两个参数属于同一类型,请尝试交换UIButton
/ UILabel
的实际匹配属性:
@IBAction func onTapToEnterBillAmount(_ sender: UITapGestureRecognizer) {
UIView.animate(withDuration: 0.2, animations: {
swap(&self.tapToEnterBillAmountLabel.alpha, &self.billAmountTextField.alpha)
}, completion: { _ in
swap(&self.tapToEnterBillAmountLabel.isHidden, &self.billAmountTextField.isHidden)
})
}