2013-03-21 1 views
0

У меня есть две кнопки навигации (влево и вправо) и две кнопки категории (например, loveCategory и другая категория). Когда я выбираю loveCategory, я хочу, чтобы мои навигационные кнопки отображали (в моем случае «Изображения») только из loveCategory, и когда я нажимаю другую категорию, кнопки навигации должны иметь возможность отображать (изображения) только из другой категории (то есть, когда я нажимаю левую и правую кнопку).UIButton выполняет различные действия ios

Сообщите мне, если это неясно.

вот мой код:

-(IBAction)NavigationBtnTapped:(UIButton*)sender { 
UIButton *button=sender; 
switch (button.tag) { 
    case 1: 
     //statements 
     break; 
    case 2: 
     //statements 
     break; 
    default: 
     break; 
} 

} 

-(IBAction)loveCategory { 
} 
-(IBAction)otherCategory { 
} 

Как вызвать действие в другое действие

-(IBAction)loveCategory 
{ 
    -(IBAction)NavigationBtnTapped:(id)sender 
{ 
// Is it possible to call an action within another action? 
} 
} 
+0

@chirag - орфографическая ошибка? lol – Vikr

+0

Я не понимаю вас, пожалуйста, объясните больше.Что значит «только от loveCategory» и «только от другой категории». Вы хотите использовать другую навигационную кнопку для разных категорий? –

+0

Все еще принято :) –

ответ

1

Дают тег 1 и 2 к кнопке и попробовать это:

-(IBAction)NavigationBtnTapped:(id)sender { 

    switch ([sender tag]) { 
     case 1: 
      //statements 
      break; 
     case 2: 
      //statements 
      break; 
     default: 
      break; 
    } 

} 
+0

Я уже сделал это. Мой вопрос: как использовать действие NavigationBtnTapped для выполнения некоторых действий? Я действительно хочу вызвать этот метод NavigationBtnTapped в другом - (IBAction) loveCategory – Vikr

+0

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

+0

Как мне позвонить - (IBAction) loveCategory {- (IBAction) NavigationBtnTapped: (id) отправитель // Можно ли вызвать действие в другом действии? } – Vikr

0

AnOther Way is ....

Дать тег как UIButton.

, такие как

button1.tag = 101; 
button2.tag = 102; 

Оба UIButton имеют тот же вызов метода.
, такие как,

-(void)buttonTapped:(UIButton *)sender 
{ 
    if(sender.tag == 101) 
    { 
    // code for loveCategory 
    } 
    if(sender.tag == 102) 
    { 
    // code for otherCategory 
    } 
} 
0

Вы можете сделать это, установив флаг, какая категория выбрана, наконец, делая это

int selectedCategory = 0; 

-(IBAction)NavigationBtnTapped:(UIButton*)sender { 
UIButton *button=sender; 
switch (button.tag) { 
    case 1: 
     //statements 
     if(selectedCategory == 0){ 
      // go left for lovecategory 
     }else{ 
      // go left for OtherCategory 
     } 
     break; 
    case 2: 
     //statements 
     if(selectedCategory == 0){ 
      // go right for lovecategory 
     }else{ 
      // go right for OtherCategory 
     } 
     break; 
    default: 
     break; 
} 

} 

-(IBAction)loveCategory { 
    selectedCategory = 0; 
} 
-(IBAction)otherCategory { 
    selectedCategory=1; 
} 

Это то, что вы хотите?

Для вызова действия в другом действии

-(IBAction)loveCategory 
{ 
    [self NavigationBtnTapped:null]; 
} 
-(IBAction)NavigationBtnTapped:(id)sender 
{ 
// Is it possible to call an action within another action? 
} 
+0

Я хочу назвать NavigationBtnTapped в любви категории, как показано ниже - (IBAction) loveCategory { - (IBAction) NavigationBtnTapped: (идентификатор) отправителя { // Можно ли назвать действия в другом действии? } } } – Vikr

+0

@ Vikr Я отредактировал свой ответ –

+0

Это не работает. Я создал другое действие, которое вызвало - (IBAction) loveNavigationBtnTapped: (UIButton *) отправитель и попытался называть его внутри (-IBAction) loveCategory { self loveNavigationBtnTapped: null]; } и его не работает. – Vikr

0

еще один способ, который должен иметь 2 UIButtons и два UIImages однако это не лучший способ для этого: D

В начале кнопку loveCategory скрыт = НЕТ, и изображение скрыто = ДА, также кнопка otherCategory = YES и его изображение скрыто = НЕТ.

При нажатии на кнопку loveCategory, в кнопку loveCategory спрятано = ДА и его образ скрыт = NO, а также кнопки для otherCategory спрятано = NO и изображения скрытом = YES

0

Обнаруженные ответ!

в заголовочном файле

BOOL isLove,isOther; 

в РЕАЛИЗАЦИЯ файле

- (void)viewDidLoad 
{ 
    isOther=TRUE; 
    isLove=FALSE; 
} 

-(IBAction)NavigationBtnTapped:(UIButton*)sender { 
if (isLove) { 
// Statement 
} 
else 
{ 
//statement 
} 

При необходимости использовать "еще, если" для проверки нескольких кнопок.