我已经使用setImage来描述当前图像的状态,但我想在setImage()中同时使用两个状态。所以我想合并两个州.Highlighted& .Selected
button.setImage(emptyStarImage, forState: .Normal)
button.setImage(filledStarImage, forState: .Selected)
button.setImage(filledStarImage, forState: .Highlighted)
我有这三种状态,但我想要另一种状态,如
button.setImage(filledStarImage, forState: [.Highlighted, .Selected])
这显示错误,我该怎么做?
答案 0 :(得分:1)
我认为您使用的是旧版Xcode。
在iOS 9中允许他们这样做。
有一个名为RatingControl.swift的文件
for _ in 0..<5 {
let button = UIButton()
button.setImage(emptyStarImage, forState: .Normal)
button.setImage(filledStarImage, forState: .Selected)
button.setImage(filledStarImage, forState: [.Highlighted, .Selected])
button.adjustsImageWhenHighlighted = false
button.addTarget(self, action: "ratingButtonTapped:", forControlEvents: .TouchDown)
ratingButtons += [button]
addSubview(button)
}
从Xcode 7和iOS 9,你可以像你描述的那样:
button.setImage(filledStarImage, forState: [.Highlighted, .Selected])