我在swift中为我的报价应用程序实现了一个收藏夹按钮。因为我想禁用用户能够两次收藏报价。 我必须将文本更改为不同,然后比较按钮文本模式与按钮文本模式不同。然后根据这些条件执行更多操作。它看起来像是:
@IBAction func favour(sender: AnyObject) {
if liketext.text == "Like"{
liketext.setTitle("Unlike", forState: UIControlState.Normal)
makeQuoteFavourite()
} else if liketext.text == "Unlike" {
liketext.setTitle("Like", forState: UIControlState.Normal)
}
}
然而,正如你们许多人所知,按钮插座不能具有.text功能。 @IBOutlet var liketext: UIButton!
我如何将按钮字符串与普通字符串进行比较?还有其他可能的解决方案吗?
答案 0 :(得分:4)
UIButton
的工作方式与UILabel
不同。他们有一个控制状态。并且他们的(标题)文本可以在每个控制状态的基础上设置。
所以你必须使用currentTitle
属性:
或titleForState
方法:
现在这些标题是普通String
个对象;它是与众不同的财产的名称。