UITabBar больше кнопки навигации вопроса - PullRequest
0 голосов
/ 23 июня 2011

В моем приложении у меня есть почти 10 элементов с вкладками, которые заканчиваются тем, что добавляются дополнительные кнопки на панель вкладок.Когда я выбираю кнопку «Дополнительно», она перечисляет содержимое других вкладок в виде списка.Я выбираю один из них и перемещаюсь внутри (у него есть контроллер навигации) и нажимаю на элемент.Опять же, если я нажму на кнопку «больше», загружается предыдущая страница, и чтобы загрузить больше элементов вкладки, я должен нажать несколько раз, чтобы открыть контроллеры пользовательского интерфейса.Следовательно, мне нужно загружать список панели вкладок каждый раз, когда пользователь нажимает на другой элемент.Пожалуйста, помогите мне разобраться, как это сделать.

Спасибо

Ответы [ 3 ]

0 голосов
/ 15 ноября 2012

Вы можете сделать это с помощью метода ViewWillDisappear контроллера представления на вкладке More, вызвать метод для извлечения этого представления из MoreViewNavigationController, например:

[super viewWillDisappear: animated];

[self.navigationController popViewControllerAnimated: NO];

это ответ

0 голосов
/ 11 февраля 2016

Если вам нужно много кнопок на панели кнопок, элемент есть и они не вписываются в него.

//  MasterViewController.h
        .
        .
        .

        - (IBAction)btMy:(id)sender;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *btMy;


        @property (weak, nonatomic) IBOutlet UIBarButtonItem *bt1;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *bt2;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *bt3;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *bt4;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *bt5;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *bt6;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *bt7;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *bt8;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *fl1;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *fl2;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *fl3;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *fl4;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *fl5;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *fl6;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *fl7;
        @property (weak, nonatomic) IBOutlet UIBarButtonItem *fl8;
        @end

        //  MasterViewController.m
        .
        .
        .
    @interface MasterViewController ()
    { 
        BOOL tt;
    }
    .
    .
    .
       - (IBAction)btMy:(id)sender {
        [self nextToolBar];

    } 

        -(void) nextToolBar {
         if (tt ) {
                self.navigationController.toolbar.items = [NSArray arrayWithObjects:_bt1, _fl1, _bt2, _fl1, _bt3, _fl1, _bt4, _fl1, _btMy, nil];
                tt = NO;
            }else{
                self.navigationController.toolbar.items = [NSArray arrayWithObjects:  _bt5, _fl1, _bt6,_fl1,_bt7,_fl1, _bt8, _fl1, _btMy, nil];
                tt = YES;
                 }

            for ( NSInteger x = 0; x < 8; x++){ // если при перевороте цвет меняли на прозрачный, востанавливаем обратно

                [self.navigationController.toolbar.items[x] setTintColor:_btMy.tintColor];
            }

        }

        -(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ // после смены орентации устройства
           [self nextToolBar]; // показываем кнопки 4+1 иначе отображается все кнопки 8+1 шт

        }

        -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration{ // до смены арентауции устройства
            NSArray *myArray = [NSArray arrayWithObjects:_bt1, _bt2, _bt3, _bt4, _bt5, _bt6, _bt7, _bt8, nil]; // перед переворотом экрана меняем цвет на прозрачный
            for ( NSInteger x = 0; x < 8; x++){

                [myArray[x] setTintColor:[UIColor clearColor]];  //  
                 }
            if (tt) {tt=NO;} else {tt=YES;}   // чтобы вернуться на тот же набор кнопок
        }
0 голосов
/ 23 июня 2011

Возможно, вам стоит подумать о реструктуризации вашего приложения.Вам действительно нужно 10 параллельных областей информации / функциональности?!

...