Три20 странная проблема навигации
В 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 ответ
Это было решено. Свойство title моего SecondViewController было установлено в @"" (пустая строка). Когда это свойство не установлено, контроллер навигации не может найти текст для записи в кнопку "Назад", поэтому он просто не показывает его. Ожидаемый, но странный. Если свойство title равно nil, он показывает задний текст по умолчанию, но если это пустая строка, он не показывает никакой кнопки. На самом деле, никто не устанавливает заголовок пустой строки. Я установил его пустым для целей отладки.