我已经使用 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])
这显示错误,我该怎么做?
最佳答案
我认为您使用的是旧版本的 Xcode。
在 iOS 9 中他们被允许这样做。
检查 Apple 的以下示例:https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson5.html
有一个名为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])
关于ios - 如何为 setImage() 添加两个图像状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31932959/