три20 странная проблема навигации - PullRequest
1 голос
/ 14 июня 2011

В Three20 у меня есть пользовательская ячейка, которая включает UIButton. Я использую метод «tap», когда UIButton нажимается так:

UIButton* cevapla=[UIButton buttonWithType:UIButtonTypeCustom];
[cevapla addTarget:self 
            action:@selector(tap:)
      forControlEvents:UIControlEventTouchUpInside];

и

-(void)tap:(id)sender {

        TTURLAction* action=[TTURLAction actionWithURLPath::@"tt://secondviewcontroller/"
                             ];
        [action applyAnimated:YES];
        [[TTNavigator navigator] openURLAction:action];
}

Пока все в порядке. SecondViewController загружается с анимацией. Но в SecondViewController, когда пользователь нажимает на другую ссылку, которая открывает другой контроллер представления, нет кнопки «назад». Если ссылка во втором контроллере представления начинается с «http://",, она открывает внутренний веб-браузер» без кнопки «Назад», и невозможно перейти в другое место, и пользователь должен повторно открыть приложение.

Что не так с этим методом нажатия?

Примечание: вместо [[TTNavigator navigator] openURLAction:action]; я пробовал [[TTNavigator navigatorForView:self.superview] openURLAction:action];, но изменений не было.

1 Ответ

0 голосов
/ 28 июля 2011

Это было решено. Свойство title моего SecondViewController было установлено в @ "" (пустая строка). Когда это свойство не установлено, контроллер навигации не может найти текст для записи в кнопку «Назад», поэтому он просто не показывает его. Ожидаемый, но странный. Если свойство title равно nil, он показывает задний текст по умолчанию, но если это пустая строка, он не показывает никакой кнопки. На самом деле, никто не устанавливает заголовок пустой строки. Я установил его пустым для целей отладки.

...