Как переключаться между представлениями на iOS - PullRequest
1 голос
/ 12 января 2012

Я довольно новичок в мире iOS, и, поскольку я пришел из мира Android, основанного на Activity, я немного запутался с тем, как iOS управляет переходами между представлениями.

Я уже создалUIViewController, который отображает форму входа в полноэкранном режиме (это приложение предназначено для iPad).После успешного входа в систему я хочу переключиться на другой вид и использовать UISplitViewController.Чтобы иметь возможность выдвигать мой первоначальный контроллер ко второму (который также является UIViewController), я уже добавил UINavigationController с моим первым контроллером, являющимся корневым.

Я добавил UISplitViewController в xibмой второй UIViewController.Ранее Xcode жаловался, что у моего второго UIViewController не было настроено выходное окно представления, поэтому я в основном слепо установил его в detailView в моем UISplitViewController.

В результате первый UIViewController действительно отталкивается, но я не 'получить UISplitViewController, чтобы показать, но подробный вид, который я установил в представлении представления.

Я что-то пропустил?Что необходимо, чтобы сначала отобразить UISplitViewController в полноэкранном режиме (ничего особенного, без излишеств), а затем перенести в UISplitViewController?Мои предыдущие попытки включали новую функцию раскадровки, но это оказалось еще более запутанным (то есть слишком много волшебства).Возможно, я просто неправильно понял некоторые парадигмы пользовательского интерфейса iOS.

Ответы [ 3 ]

0 голосов
/ 17 января 2012

Возможно, вы захотите начать с UINavigationController в качестве корневого контроллера представления. Метод init в UINavigationController принимает другой контроллер представления в качестве параметра (который также вводит в заблуждение также называемый корневым ViewController), который может быть контроллером представления, который вы в настоящее время используете в качестве корневого контроллера представления для своего приложения. Это будет отображаться в навигационном контроллере.

После того, как вы поместили свой контроллер вида в контроллер навигации, вы можете вызвать [self.navigationController pushViewController: x], чтобы отобразить новый контроллер представления, и [self.navigationController popViewController], чтобы вернуться снова. Если вы не хотите, чтобы панель навигации находилась сверху, вы можете установить ее скрытой.

В качестве альтернативы, вы можете отобразить полноэкранный контроллер представления из другого контроллера представления, вызвав [self presentModalViewController: x], чтобы показать его.

0 голосов
/ 22 августа 2014

в данном коде. Я переключаюсь на следующий просмотр при нажатии кнопки ..

NextController (просмотр, который вы хотите отобразить как новое действие, которое мы отображаем в Android)

Прежде всего импортируйте его как

#import "NextController.h"

, а затем

- (IBAction)clicking:(id)sender {

    NextController *nextviewcontroller = [[NextController alloc]initWithNibName:@"NextController" bundle:nil];// include it before calling it..

    [self presentViewController:nextviewcontroller animated:YES completion:nil];

}

где initWithNibName:@NameOfNibFileToShow и presentViewController встроены в функцию и animated:YES для отображения анимации

0 голосов
/ 12 января 2012

Вообще говоря, вы хотите установить выход представления UIViewController на представление верхнего уровня в вашей xib. Когда вы создали xib, он, вероятно, дал вам пустое представление в качестве отправной точки, к которому вы затем добавили свой UISplitView. Это (ранее) пустое представление - это то, которое вы хотите использовать в качестве выходного окна просмотра.

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