Ios 如何在函数中设置UIButton的状态
我有一个for循环,它在对象类型Note的数组中循环,该数组具有设置为按钮的fingering属性 for循环:Ios 如何在函数中设置UIButton的状态,ios,objective-c,uibutton,Ios,Objective C,Uibutton,我有一个for循环,它在对象类型Note的数组中循环,该数组具有设置为按钮的fingering属性 for循环: for (int i = 0; i < [Bb_major.scaleNotes count]; i++) { valve1.highlighted = NO; valve2.highlighted = NO; valve3.highlighted = NO; valve4.highlighted = NO;
for (int i = 0; i < [Bb_major.scaleNotes count]; i++) {
valve1.highlighted = NO;
valve2.highlighted = NO;
valve3.highlighted = NO;
valve4.highlighted = NO;
[Scale tutorial:valve1 :valve2 :valve3 :valve4 :Bb_major.scaleNotes[i]];
}
我希望这样,当for循环遍历scaleNotes时,每个按钮序列都会高亮显示一段时间,然后高亮显示next Notes按钮。有没有更有效的方法来完成这项任务 首先,您不应该这样命名方法。仅供参考-您的方法名为
tutorial::
。这不是个好名字。永远不要在主线程上调用sleep
。糟糕,糟糕,糟糕。如果你想创建一个应用程序来教人们如何弹吉他(或类似的),我建议使用UIView来突出指法模式。你可以使用UIView动画使它们高亮显示/发光,它们比按钮更合适。我希望它们能够按右手手指模式中的按钮,以便练习缩放。
+(void)tutorial:(UIButton *)button1 :(UIButton *)button2 :(UIButton *)button3 :(UIButton *)button4 :(Note *)Note {
switch ([Note.fingering count]) {
case 0:
break;
case 1:
button1 = Note.fingering[0];
button1.highlighted = YES;
sleep(1.0);
break;
case 2:
button1 = Note.fingering[0];
button2 = Note.fingering[1];
button1.highlighted = YES;
button2.highlighted = YES;
sleep(1.0);
break;
case 3:
button1 = Note.fingering[0];
button2 = Note.fingering[1];
button3 = Note.fingering[2];
button1.highlighted = YES;
button2.highlighted = YES;
button3.highlighted = YES;
sleep(1.0);
break;
default:
break;
}
}