2013-05-22 2 views
0

Im не уверен, почему это не работает:Если заявление о выборе UIButton

- (IBAction)sliderValueChanged:(UISlider *)sender { 
    if (_menuRightItem2.selected == YES) { 
     NSLog(@"yes"); 
     if (sender == self.slider1) 
      [sender setValue:((int)((slider1.value + 1)/1.0) - 1.0) animated:NO]; 
     else if (sender == self.slider2) 
      [sender setValue:((int)((slider2.value + 1)/1.0) - 1.0) animated:NO]; 
    } 
    barHeight = slider1.value * -20 + slider2.value * -50; //! hoogte in de min, yea right. 
    [UIView animateWithDuration:0.50 animations:^{ 
     self.orangeView.frame = CGRectMake(595, 615, 80, barHeight); 
    }]; 
} 

То, что я пытаюсь выполнить в том, что, когда menuRightItem2 выбран, что он затем выполняет мое if else заявление и в противном случае нет. Но мой NSLog() даже не работает. Каким будет правильный способ достичь этого?

Моя кнопка заявление:

- (IBAction)menuRightItem2Touch:(id)sender { 
    _menuRightItem2.selected = !_menuRightItem2.selected; 
} 
+1

уточните –

+0

Что такое '_menuRightItem2'? – Lucien

+0

попробуйте изменить свойство 'непрерывный' ползунка на' НЕТ'. Тогда я думаю, что вам не нужно проверять _menuRightItem2.selected – ajithmn89

ответ

0

Ну, я пытался реализовать свой код на основе этого понимания: _menuRightItem2 является UIButton и прослушивает UIControlEventTouchUpInside событий с помощью

-(IBAction)menuRightItem2Touch:(id)sender method. 

Там это два ползунка (IBOutlets) slider 1, slider2. И слушать ValueChanged Событий, используя

-(IBAction) sliderValueChanged:(UISlider*)sender 

код, кажется, бежит отлично. Пожалуйста, убедитесь, что вы сделали _menuRightItem2 слушать -

-(IBAction)menuRightItem2Touch:(id)sender 
+0

Ну код должен работать только тогда, когда выбрано menuRightItem2, вот что я пытаюсь выполнить здесь. – Tarayaa

+1

Да, код работал только при выборе кнопки и перемещении ползунков. Попробуйте Отладка и убедитесь, что элемент управления переходит в - (IBAction) menuRightItem2Touch: (id) отправитель, когда вы выбираете кнопку. –

+0

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

0

проверки ли выбрана кнопка, если не использовать setselected функции, как показано ниже

- (IBAction)menuRightItem2Touch:(id)sender {  
    if([_menuRightItem2 isSelected]) 
    {   
     [_menuRightItem2 setSelected:NO];   
    }  
    else{ 
     [_menuRightItem2 setSelected:YES]; 
    } 
} 
+1

Не могли бы вы предоставить дополнительные детали для вашего ответа? Зачем ему это делать? Просто сказать «попробуй» - это не очень хороший ответ. – Popeye

1

[_menuRightItem2 isSelected] возвращает логическое значение

вы можете прямо используйте этот метод в заявке if, которая является рекомендуемым способом ее выполнения, а не приравнивая ее к YES

поэтому постарайтесь использовать

if([_menuRightItem2 isSelected]){ 

} 

надеюсь, что это помогает.

+0

Не могли бы вы предоставить дополнительные детали для вашего ответа? Зачем ему это делать? Просто сказать «попробуйте и использовать» - это не очень хороший ответ. – Popeye

+0

@Popeye .. теперь это что-то полезное для твоей работы. – Bonnie

+0

+1 для улучшения ответа с помощью редактирования. – Popeye

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