单击swift后按钮图像不会改变

时间:2015-09-21 07:21:52

标签: ios swift uibutton

我创建了用于评级目的的按钮,如

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)
}

1 个答案:

答案 0 :(得分:2)

试试这个

 sender.setImage(UIImage(named: "star_fill.png"), forState: UIControlState.Selected)

改为

 sender.setImage(UIImage(named: "star_fill.png"), forState: UIControlState.Normal)