Как получить событие нажатия на панель вкладок без tabbarcontroller в iphone? - PullRequest
0 голосов
/ 21 сентября 2011

Я пытаюсь реализовать панель вкладок в моем втором представлении. Я могу разместить вкладку с 5 элементами. Я знаю, что для обработки этих событий клика, я должен использовать tabbarcontroller.

У меня такой вопрос, что на вкладке видно Как вызвать каждый элемент выбранного метода без tabbarcontroller? (Я предполагаю, что tabbar является кнопкой, подобной объекту, и мы можем программно написать метод щелчка для этого. Поэтому и без Tab Controller мы можем получить доступ к методу выбранного элемента) Есть ли способ сделать это?

Ответы [ 3 ]

1 голос
/ 21 сентября 2011

Я думаю, вы можете сделать это так.(*** Примечание: это не проверенный код)

Добавить <UITabBarDelegate> в .h файл

- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
{
    if(item == firstItem)
        NSLog(@"Did Select Here”);
    else if(item == firstItem)
        NSLog(@"Did Select Here”);
}
1 голос
/ 21 сентября 2011

Если вы не хотите использовать tabbarcontroller, то всегда лучше использовать Segmented Control. Он имеет аналогичный вид операций и также прост в использовании. Используйте необходимость просто создать несколько представлений uiview и просто играть в прятки с ними. Если хочешь, у меня есть код. Буду вставлять сюда, если хотите.

0 голосов
/ 21 сентября 2011

Создайте UITabbar и определите UITabbarDelegate в файле .h и напишите следующий код в соответствующем представлении:

  - (void)viewDidLoad {
        [super viewDidLoad];
        UITabBarItem * newItem1 = [[UITabBarItem alloc] initWithTitle:@"First" image:[UIImage imageNamed:@"setting.png"] tag:1];
        UITabBarItem * newItem2 = [[UITabBarItem alloc] initWithTitle:@"Second" image:[UIImage imageNamed:@"setting.png"] tag:2];
        UITabBarItem * newItem3 = [[UITabBarItem alloc] initWithTitle:@"Third" image:[UIImage imageNamed:@"setting.png"] tag:3];

    [tabbar setItems:[NSArray arrayWithObjects:newItem1,newItem2,newItem3,nil]];
        tabbar.delegate = self;
    }

    - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item{
        NSLog(@"Tabbar selected itm %d",item.tag);
        switch (item.tag) {
            case 1:
                //first selected
                break;
            case 2:
                //second selected
                break;
            case 3:
                //third selected
                break;
            default:
                break;
        }
    }
...