iPhone NavigationController - нажатие одного и того же вида, получение разных макетов - PullRequest
4 голосов
/ 23 февраля 2009

У меня есть приложение с вкладками, каждая вкладка имеет контроллер навигации. Я использую вспомогательный код, чтобы поместить пару вида / контроллера в стек навигации, но когда я вызываю один и тот же код из двух разных мест, я получаю (удивительно) разные результаты. В одном случае вид отображается ниже, чем в другом, и, по-видимому, ниже на высоту панели навигации.

Толкнул с одной вкладки (в хорошем положении):

image

Нажата с другой вкладки (слишком низко):

image

XIB:

image

Вот код нажатия:

+ (void)navigateToLocation:(Location*)location controller:(UIViewController*)vc withDelegate:(NSObject <LocationEditDelegate> *)delegate {

    LocationDetailsViewController *detailsController = [[LocationDetailsViewController alloc] initWithNibName:@"LocationDetailsViewController" bundle:nil];

    detailsController.title = [location display];
    detailsController.location = location;
    detailsController.delegate = delegate;

    // Push the detail view controller
    [[vc navigationController] pushViewController:detailsController animated:YES];

    [detailsController release];
}

Может кто-нибудь помочь мне понять, что может происходить, и как я могу проникнуть внутрь этого?

У меня установлен 2.2.1, а сборка / развертывание с использованием 2.2.

Поскольку комментарии не отображаются, я делаю комментарии внизу. Отредактируйте это, если я делаю вещи неправильно:

  • Я добавил смоделированные метрики без изменений в поведении.

Ответы [ 4 ]

2 голосов
/ 27 февраля 2009

У меня была эта проблема некоторое время назад. Если я правильно помню, у меня на макушке было поле «Авторазмер для просмотра на экране», которое было отмечено в IB. Я думаю, что это было где-то на вкладке. Отмена выбора решила мою проблему

2 голосов
/ 24 февраля 2009

Перепробовав предложения, я заметил тонкую разницу в одной вкладке, а в остальных. Было показано, что его вид помещается над панелью вкладок и под панелью навигации. Другие не сделали, их «внутренний вид», казалось, ускользнул от навигации (как и возникающие в результате подвиды с проблемами).

Я не помню, как были созданы эти вкладки, но я заново создал их (установив смоделированные метрики в MainView.xib, на случай, если что-то изменится, в чем я сомневаюсь, поскольку одна вкладка уже была «правильной»). ) Во всяком случае, сейчас все работает ...

Вкладка «Проблема»:

alt text

Рабочая вкладка:

alt text

... см. «Пунктирную линию вокруг внутреннего вида» и где заканчивается верх пунктирной линии.

0 голосов
/ 23 февраля 2009

Разве на одной из вкладок нет панели навигации для начала?

Кроме того, похоже, что зеленая полоса внизу находится в том же XIB, что и остальная часть обзора, но она не была сдвинута вниз. Это правильно?

Если это так, другим решением было бы перейти на вкладку линейки для всех верхних элементов и убедиться, что они зафиксированы на верхнем крае представления, чтобы их нельзя было перемещать вниз ...

0 голосов
/ 23 февраля 2009

Это почти наверняка связано с неиспользованием симулированных метрик в XIB. Попробуйте добавить симулированную панель навигации в XIB и посмотрите, изменит ли она что-нибудь.

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