2012-03-03 4 views
0

Хорошо, ребята, может быть, вы можете помочь мне с этим. Я собираюсь вытащить волосы.Мой UITabBar не отображается

Недавно я решил обновить свое приложение и сделать его лучше, и с этим я хотел переместить его в полную поддержку платформ iPad. Некоторое время все отлично работало. Просто нажмите копию MainWindow.xib для iPad, добавьте представления, которые я использовал в конфигурациях iPhone, и все должно быть здорово, но это не сработало. Посмотрите:

Вот iPhone скриншот:

iPhone version

Вот IPad скриншот:

iPad Version

Где панель вкладок? Я не понимаю! Я добавил исходное представление, когда я сначала собрал его вместе, но когда я привязал все IBOutlets к соответствующим фрагментам, панель вкладок больше не отображается.

Скриншот IB:

Interface Builder

Tab Bar свойства:

  • Оттенок: Голубоватый цвет
  • Изображение Оттенок: золотистой цвет
  • Режим: Шкала для заполнения
  • Метка: 0
  • Взаимодействие 0
  • Пользователь Включено: (Проверен)
  • Multiple Touch: (Переполнение)
  • Alpha: 1
  • Непрозрачный: (Проверен)
  • Hidden (Переполнение)
  • Очищает графический контекст: (Проверен)
  • клип подпанелей: (Unchecked)
  • AUTORESIZE подпанелей: (Проверен)
  • Растяжение: (х, у, ш, ч) :(0,0,1,1)

Файл viewController.h является делегатом UITabBar, UITextField и UITextView

ViewDidLoad (бар является IBOutlet для панели вкладок):

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self playMovieIntro]; 

    NSURL *url = [NSURL URLWithString:@"http://www.faithlifefellowship.us/Audio/Sermons/NewSermonBanner.png"]; 
    NSData *data = [NSData dataWithContentsOfURL:url]; 
    UIImage *image = [UIImage imageWithData:data]; 
    if(!image == NULL) 
    { 
     NewSermonBanner.image = image; 
    } 

    series = [[Series alloc] init]; 

    SeriesName = @""; 

    NSRange range = [[[UIDevice currentDevice] name] rangeOfString:@"iPad"]; 

    int i = 0; 

    if(range.location != NSNotFound) 
     i = 1; 

    bar.selectedItem = hometab; 

    //set delegates 
    [bar setDelegate:self]; 
    [personalName setDelegate:self]; 
    [personalEmail setDelegate:self]; 
    [content setDelegate:self]; 
    [prContent setDelegate:self]; 
    [prName setDelegate:self]; 
    [prEmail setDelegate:self]; 
} 

Я в тупик. Если у вас есть какие-либо идеи или вам нужна дополнительная информация, дайте мне знать.

Спасибо!

ответ

1

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

Иногда (я не помню точно, когда) У меня была панель навигации, которая не отображается, потому что у нее отсутствует соединение.

Убедитесь, что вы не скрываете панель вкладок в любом месте кода, хотя, похоже, это не так, поскольку она отображается на iPhone.

В противном случае я собираюсь угадать и сказать, что это что-то в NIB. Вот некоторые вещи, которые вы можете попробовать:

  • Проверьте все ваши подключения к розеткам
  • Убедитесь, что ваши объекты в СИБ имеют соответствующий класс
  • Убедитесь, что свойство «скрытый» Панель вкладок является не проверить в Interface Builder
  • Сравнить и проверить всю структуру файла СИБ между iPhone и IPad

Таковы лишь некоторые идеи :) еще раз, если вы можете разместить код, было бы фантастическим.

Дайте нам знать, как она идет, Фелипе

+0

Я перечислил все свойства в моем вопросе, а Hidden не проверен. Единственный способ, с помощью которого я могу заставить панель отображать, - это добавить его в viewController, который вы видите на скриншоте (в отличие от изменения скрытого свойства разных представлений, чтобы сделать панель вкладок вне контроллера вида. ваша помощь, в то же время я обнаружил лазейку, которая позволила мне обойти проблему. +1 – David

+0

Добро пожаловать :) Я рад слышать, что вы нашли способ обхода вашей проблемы – iFeli

1

Я имел эту проблему с приложением, которое поддерживает как iPhone и IPad. Убедитесь, что «контроллер начального представления» проверен для UITabBarController при проверке контроллера вида с помощью инспектора объектов. Когда вы это сделаете, xcode отобразит «входящую» стрелку на левой стороне контроллера просмотра, если вы используете раскадровки.

+1

Это не полезно ответ – user1972007

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