В настоящее время у меня есть UISwitch
, который при включении и выключении увеличивает и уменьшает счетчик соответственно.UISwitch double tap
Когда счетчик равен 0, счетчик не будет уменьшаться. Функционально это прекрасно работает, но я заметил ошибку и задался вопросом, испытал ли это это.
По существу, если вы очень быстро дважды коснитесь UISwitch в своем удаленном положении (полностью включено или выключено), счетчик будет увеличиваться дважды, так как я предполагаю, что UISwitch не полностью ударяет по выключенному состоянию и поэтому просто добавляет счетчик снова без его первого уменьшения.
Вот код, я использую, чтобы сделать проверки на коммутаторе:
// Sliders modified
- (IBAction)personalityChanged:(id)sender {
if ([personality isOn]){
[[[GlobalData sharedGlobalData]personalitySliderValue] replaceObjectAtIndex:currentRecord-1 withObject:@"1"];
rating ++;
NSLog(@"The value of personality slider is %@", [[[GlobalData sharedGlobalData]personalitySliderValue] objectAtIndex:currentRecord-1]);
[personality set]
}
else {
[[[GlobalData sharedGlobalData]personalitySliderValue] replaceObjectAtIndex:currentRecord-1 withObject:@"0"];
[self subtractFromRating:nil];
NSLog(@"The value of personality slider is %@", [[[GlobalData sharedGlobalData]personalitySliderValue] objectAtIndex:currentRecord-1]);
}
[self checkRating:nil];
}
Тогда рейтинг вычитать:
// subtract from rating
-(void)subtractFromRating:(id)sender{
if (rating == 0) {
// do nothing
}
else
{
rating --;
}
}
И, наконец, результат того, что произойдет, если ползунок находится в должность:
// check rating
-(void)checkRating:(id)sender{
switch (rating) {
case 0:
[matchRating setText:@""];
[ratingGraphic setImage:[UIImage imageNamed:@""]];
NSLog(@"rating is 0");
break;
case 1:
[matchRating setText:@"Single Match"];
[ratingGraphic setImage:[UIImage imageNamed:@"ratinggraphic1.png"]];
NSLog(@"rating is 1");
break;
case 2:
[matchRating setText:@"Potential Match"];
[ratingGraphic setImage:[UIImage imageNamed:@"ratinggraphic2.png"]];
NSLog(@"rating is 2");
break;
case 3:
[matchRating setText:@"Great Match"];
[ratingGraphic setImage:[UIImage imageNamed:@"ratinggraphic3.png"]];
NSLog(@"rating is 3");
break;
case 4:
[matchRating setText:@"Hot Match"];
[ratingGraphic setImage:[UIImage imageNamed:@"ratinggraphic4.png"]];
NSLog(@"rating is 4");
break;
default:
break;
}
}
Есть ли способ убедиться, что переключатель переходит из состояния включения в выключенное fu перед возвращением или лучшим подходом к этому?
Спасибо wsidell, работал как сон, теперь ползунки действуют так, как должны. Wohoo! – SmokersCough