Возможно ли в UITabBarController иметь одну вкладку в фиксированном положении и переупорядочивать другие вкладки? - PullRequest
0 голосов
/ 14 февраля 2011

Мне бы хотелось, чтобы одна вкладка в UITabBarController имела фиксированную позицию, а пользователь мог бы реорганизовать другие вкладки так, как им нравится. У меня есть UITabBarController> UINavigationController> UITableViewController установки.

Возможно ли это?

UPDATE:

Следующий код в applicationDidFinishLaunching - это то, что я использую, и оно не работает. Я пытаюсь получить ссылку на SavedTableViewController, я думаю, что это проблема. Есть идеи?

NSMutableArray *customizableVCs = [NSMutableArray arrayWithArray:tabBarController.customizableViewControllers];
    for (id controller in tabBarController.customizableViewControllers){
            if ([controller isKindOfClass:[SavedTableViewController class]]){
                NSLog(@"Removing Object");
                [customizableVCs removeObject:controller];
            }
    }
    tabBarController.customizableViewControllers = customizableVCs;

ОБНОВЛЕНИЕ 2:

Это код, который работал для меня. Мне пришлось поместить фрагмент ниже, добавив tabBarController в окно.

[window addSubview:tabBarController.view];
    [self setTabOrderIfSaved];

    NSMutableArray *customizableViewControllers = [NSMutableArray arrayWithArray:tabBarController.customizableViewControllers];
    [customizableViewControllers removeObject:savedNavigationController];
    tabBarController.customizableViewControllers = customizableViewControllers;

1 Ответ

3 голосов
/ 14 февраля 2011

Удалите контроллер представления, соответствующий этой вкладке, из свойства customizableViewControllers вашего контроллера панели вкладок.Предполагая, что вы хотите, чтобы fixedViewController оставался фиксированным:

NSMutableArray *customizableViewControllers = [NSMutableArray arrayWithArray:tabBarController.customizableViewControllers];
[customizableViewControllers removeObject:fixedViewController];
tabBarController.customizableViewControllers = customizableViewControllers;

Поскольку customizableViewControllers повторно инициализируется при изменении свойства viewControllers, вы должны сделать это после того, как остальная часть состояния контроллера панели вкладок будет настроена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...