2013-09-13 7 views
0

Я использую панель инструментов с UIbarButton пунктов, и я дал теги для этого, в одном сценарии мне нужно, чтобы получить все подвидов на панели инструментов и отключить одну кнопкуКак проверить класс UIbarbutton в UIToolbar

    for (id toolBarSubView in [self.topToolBar subviews]) { 

         NSLog(@"toolBarSubView details %@",toolBarSubView); 

         if ([toolBarSubView isKindOfClass:[UIBarButtonItem class]] && [toolBarSubView tag] == 103) { 
          UIButton* backButton = (UIButton*)toolBarSubView; 
          backButton.enabled = YES; 
         } 
         else if([toolBarSubView isKindOfClass:[UIBarButtonItem class]] && [toolBarSubView tag] == 102) 
         { 

          UIButton* navigationTitle = (UIButton*)toolBarSubView; 
          navigationTitle.enabled = NO; 
         } 
         else if([toolBarSubView isKindOfClass:[UIBarButtonItem class]] && [toolBarSubView tag] == 104) 
         { 
          UIButton* infoButton = (UIButton*)toolBarSubView; 
          infoButton.enabled = NO; 
         } 

Я использую выше код, я пытаюсь найти имя класса, как это [toolBarSubView isKindOfClass: [UIBarButtonItem class]

Но условие не работает ни одно из условий не является успешным, какой класс я должен в консоли it что-то вроде этого 2013-09-13 12: 15: 35.943 Квитанции [1544: 60b] toolBarSubView detai Ls> 2013-09-13 12: 15: 35.945 Квитанции [1544: 60b] Подробнее toolBarSubView> 2013-09-13 12: 15: 35.947 Квитанции [1544: 60b] Подробнее toolBarSubView>

ответ

0

Если вы ставите UIButton в UIToolBar вместо UIBarButtonItem в UIToolBar, по умолчанию UIButton входит в UIBarButtonItem. Затем вы можете проверить, как это,

if([toolBarSubView isKindOfClass:[UIButton class]] && [toolBarSubView tag] == 10) 
{} 

Если вы хотите проверить конкретную кнопку пункт UIBar в UIToolbar, сделать как этот

NSArray *barButtons = [self.topToolBar items]; 
    for(UIBarButtonItem *myBarButton in barButtons) 
    { 
     NSLog(@"%d",myBarButton.tag); 
     if(myBarButton.tag == 103) 
     {} 
    } 
+0

Я сделал, что для Barbutton я с помощью кнопки, но у меня есть один условие, где я должен определенно использовать UIbarbuttonitem default. Как я могу обработать его – kiri

+0

, тогда вы должны проверить, как этот NSArray * barButtons = [self.topToolBar items]; для (UIBarButtonItem * myBarButton in barButtons) { NSLog (@ "% d", myBarButton.tag); if (myBarButton.tag == 103) {// сделайте свою работу здесь} } – wesley

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

  • Нет связанных вопросов^_^