#iphone #objective-c #uiview #uinavigationcontroller
#iPhone #objective-c #uiview #uinavigationcontroller
Вопрос:
Я сталкиваюсь с проблемами при навигации между представлениями, в основном у меня есть 3 представления:
- rootView
- просмотр1
- Просмотр2
Что я хочу сделать, так это когда я нажимаю на кнопку «Назад» View2
Я хочу, чтобы rootView загружался вместо загрузки view1 (который используется по умолчанию).
.. Я написал приведенный ниже код в моем view1.m, прежде чем запускать view2ViewController, код:
UIBarButtonItem *back = [[UIBarButtonItem alloc] initWithTitle:@"Back" target:self action:@selector(someMethod:)];
self.navigationItem.backBarButtonItem = back;
-(void)someMethod:(id)sender{ [self.navigationViewCOntroller popToRootViewControllerAnimated:YES] }
Приведенный выше код не работает
Комментарии:
1. Не понимаю проблемы, разве вы только что не сказали, что отображаются как view1, так и view2? Разве это не ваша цель?
2. Да .., Это то, что я думал .., Но этого не происходит
Ответ №1:
Попробуйте это:
Чтобы перейти к представлению:
Aview *aview =[[Aview alloc] initWithNibName:nil bundle:nil];
settings.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentModalViewController:settings animated:YES];
Чтобы вернуться:
[self dismissModalViewControllerAnimated:YES];
Итак, в вашем случае его:
-(void)someMethod:(id)sender{
Rootview *rootview =[[Rootview alloc] initWithNibName:nil bundle:nil];
settings.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentModalViewController:settings animated:YES];
}
Комментарии:
1. Но, в моем случае .., действие «someMethod» не вызывается… Но я могу изменить текст backBarButtonItem как «вернуться к rootView».. Я делаю все эти изменения в viewDidLoad view1 в viewDidLoad …, поскольку backBarButtonItem необходимо настроить в предыдущем представлении
Ответ №2:
Вторая половина вашего вопроса неясна.
Попробуйте это [self.navigationController popToRootViewControllerAnimated:YES];
Надеюсь, у вас это сработает. С помощью этого вы можете перейти от View2 к вашему корневому представлению.
Комментарии:
1. Возможно, вторая половина моих вопросов сбивает с толку всех .., поэтому я удалил .. ее… Спасибо, проверю ваше предложение
2. Пожалуйста, не используйте детские текстовые сообщения.
3. Приношу свои извинения за оскорбление, которое было ненужным. Я хочу сказать, что если вы собираетесь писать ответ, найдите время, чтобы написать на правильном английском. Это помогает всем, кто посещает SO в поисках ответа, особенно тем, кто плохо читает по-английски.
4. Неважно !!… Я совсем не возражаю.. Каким-то образом набор методов действия не вызывается .., Но кнопка отображается в View2 с заголовком «вернуться к rootView», который я установил в viewDidLoad view1