我创建了用于评级目的的按钮,如
var distance : CGFloat! = 0.0
for var i = 1 ;i <= 5;++i {
var profRateBtn = UIButton.buttonWithType(UIButtonType.Custom) as! UIButton
profRateBtn = UIButton(frame: CGRectMake(235 + distance,266,20,20))
profRateBtn.setImage(UIImage(named: "star.png"), forState: UIControlState.Normal)
profRateBtn.tag = i
profRateBtn.addTarget(self, action: "doProfRate:", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(profRateBtn)
distance = distance + 25.0 as CGFloat
}
当按钮显示像图像设置为正常状态但每次点击它,而不是更改星形填充的图像时它很好
我已经在不同的问题上找到了这个,并且还应用了不同的解决方案,但是在选择后却无法更改按钮图像
按钮操作方法
func doProfRate(sender : UIButton){
println("btn selected : \(sender.tag)")
sender.setImage(UIImage(named: "star_fill.png"), forState: UIControlState.Selected)
}
答案 0 :(得分:2)
试试这个
sender.setImage(UIImage(named: "star_fill.png"), forState: UIControlState.Selected)
改为
sender.setImage(UIImage(named: "star_fill.png"), forState: UIControlState.Normal)