#iphone #objective-c #xcode4
#iPhone #objective-c #xcode4
Вопрос:
У меня есть 2 представления. Первый вид — это супервизор, имеющий панель навигации сверху. На моем первом представлении есть одна кнопка, использующая этот метод:
-(IBAction)openView:(id)sender{
[self.navigationController setNavigationBarHidden:YES animated:NO];
view1 = [[ImageView alloc] init];
view1.largeImageDataTwo = self.aNewsInfo.largeImageData;
view1.titleTwo = self.aNewsInfo.title;
[self.view addSubview:view1.view];}
Это действие открывает view1 без панели навигации сверху. (как я хочу)
и на этой конкретной странице (View1) у меня есть другая кнопка, которая использует этот метод
-(IBAction)back:(id)sender{
[d1.navigationController setNavigationBarHidden:NO animated:NO];
[self.view removeFromSuperview];}
этот метод возвращает меня к моему первому просмотру (d1), но на этот раз, когда я вернул мой первый просмотр без панели навигации, но я хочу, чтобы панель навигации вернулась к этому первому просмотру, когда я вернулся из второго просмотра.
Как я могу это сделать? Как я могу вернуть панель навигации в 1-й вид при возврате из второго вида?
Заранее спасибо
Ответ №1:
В вашем первом представлении, в вашем viewWillAppear:
методе, попробуйте вызвать [self.navigationController setNavigationBarHidden:NO animated:NO]
.
На втором представлении после вызова removeFromSuperview
вам, возможно, придется вызвать [d1 viewWillAppear:YES]
. Я не уверен, считается ли это «наилучшей практикой», но вам, возможно, потребуется принудительно использовать это таким образом, потому что removeFromSuperview
метод super view viewWillAppear:
может не вызываться автоматически (как некоторые другие методы, которые изменяют иерархию представлений).)