2012-06-14 2 views
-1

простой код:IOS UIStepper не функционирует должным образом

- (IBAction)Up_Down:(UIStepper *)sender { 
    double value = [sender value]; 
    [NumDayLabel setText:[NSString stringWithFormat:@"%d", (int)value]]; 
} 

It частично работы.

Я запускаю его в пять. Если я нажму +, ничего не произойдет. Если я снова нажимаю +, он переходит в 6. Затем он будет продолжать расти на каждый раз, когда я нажимаю +. Теперь, если я нажимаю + до тех пор, пока он не достигнет 9, я нахожу минус, он переходит в 10. Затем я снова нахожу минус, и он идет до 9, а затем будет продолжать движение вниз, пока я продолжаю нажимать минус. Если я доведю его до 3, то нажмите плюс, он перейдет к 2, а затем начнет подниматься, пока я продолжаю нажимать +. Надеюсь, вы получите эту идею.

+2

Какое событие инициируется действием? Поскольку у вас всегда есть одна ценность, это похоже на то, что вы добавили действие для 'UIControlEventTouchUpInside'. Правильное событие: 'UIControlEventValueChanged' –

+0

Вы ударяете ноготь по голове. Пожалуйста, отправьте это как ответ, чтобы я мог дать вам кредит. –

+0

За исключением, собственно, того, что у меня было это на TouchDown, а не на TouchUpInside. –

ответ

3

Поскольку у вас всегда есть одно значение, это может означать, что вы добавили действие для UIControlEventTouchUpInside. Он срабатывает до того, как значение шага изменилось. Правильное событие для UIStepper - UIControlEventValueChanged.

Смежные вопросы