Подкласс UITabBarController, заменил TabBar и имеет проблему с отображением - PullRequest
3 голосов
/ 16 января 2010

У меня есть приложение для iPhone, созданное с использованием стандартного UITabBarController. Это приложение было создано с использованием стандартного шаблона проекта XCode.

Теперь у меня есть требование изменить UITabBar, чтобы он выглядел совсем иначе. Подход, который я решил использовать, был таким:

в моем AppDelegate:

for (UIView *view in tabBarController.view.subviews) {  
    if([view isKindOfClass:[UITabBar class]]) {
        view.hidden = YES;
        break;
    }
}

Это работает, чтобы скрыть панель вкладок. Затем я подклассифицирую UITabBarController и добавляю UIToolbar с несколькими пользовательскими компонентами. В моем подклассе UITabBarController мой код настроен так, что при выборе одного из моих пользовательских объектов код просто вызывает [self setSelectedIndex:n] для обновления пользовательского интерфейса.

Итак, у меня в основном UITabBarController, но я управляю им через новый интерфейс.

Проблема в том, что мои новые компоненты не такие высокие, как обычно UITabBar, и UITabBarController, похоже, не изменяет размеры моих представлений автоматически Я действительно ожидал бы такого поведения, но я не могу понять, как изменить «фрейм контента» UITabBarController. Есть идеи?

Ответы [ 2 ]

1 голос
/ 20 января 2010
  1. Проверьте свойство autoresizingMask.
  2. Ожидаете ли вы, что они будут работать как панели вкладок, обычно добавляя элементы в представление viewControllers?
0 голосов
/ 10 февраля 2010

Разрешается с помощью следующего кода:

[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 436)];

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

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