Ios 快速按钮和改变色彩
我有一个恼人的问题。我有一个带有4个按钮的分级控制 它们在一个循环中都是这样初始化的:Ios 快速按钮和改变色彩,ios,swift,uibutton,Ios,Swift,Uibutton,我有一个恼人的问题。我有一个带有4个按钮的分级控制 它们在一个循环中都是这样初始化的: var button: UIButton? = nil; //.. button = UIButton(type: UIButtonType.System); //.. imageDefault.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate); mageHighlight.imageWithRenderingMo
var button: UIButton? = nil;
//..
button = UIButton(type: UIButtonType.System);
//..
imageDefault.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate);
mageHighlight.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate);
imageProgress.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate);
//..
button!.setImage(imageDefault.Content!, forState: .Normal)
button!.setImage(imageHighlight.Content!, forState: .Highlighted)
button!.setImage(imageProgress.Content!, forState: .Selected)
当它点击其中一个按钮时,乐趣就开始了。如果单击了第二个,则第一个和第二个的颜色应相同,而其余的颜色应与标准颜色相同。有3个按钮,概念相同,但颜色不同
当发生单击时,我有如下代码:
func updateButtonSelectionStates() {
let idx: Int = self.tag;
var rating: Int = 3; // whatever
for (index, button) in ratingButtons.enumerate() {
button.selected = (index+1) <= Int(rating);
var color: UIColor = UIColor.blackColor();
if (index+1) <= Int(rating) {
switch (rating % 4) {
case 0: color = UIColor.blueColor();
case 3: color = UIColor.greenColor();
case 2: color = UIColor.yellowColor();
case 1: color = UIColor.redColor();
default: msNoOp();
}
}
if (button.imageView != nil) {
button.imageView!.tintColor = color;
}
}
func updateButtonSelectionStates(){
设idx:Int=self.tag;
var评级:Int=3;//随便什么
对于ratingButtons.enumerate()中的(索引,按钮){
button.selected=(索引+1)