это хороший способ изменить UIViewControllers? - PullRequest
1 голос
/ 01 февраля 2011

Я новичок в разработке приложений для iPhone. Приложение, которое я хочу написать сейчас, очень простое.

Я хочу иметь «экраны». Для этого я создал UIViewController подклассы для них обоих. У первого есть кнопка - и когда она нажата, я хочу сменить экран на вторую. Для этого я хочу отправить сообщение общему AppDelegate объекту и изменить вид в моем окне.

Может быть, это важно: Первый экран используется для ввода IP-адреса сервера, к которому я хочу подключиться. Так что этот экран появится только один раз в приложении

Я на правильном пути?

Ответы [ 4 ]

3 голосов
/ 01 февраля 2011

API, которые вы ищете, находятся в UIViewcontroller:

- [UIViewController presentModalViewController:animated:];

и

- [UIViewController dismissModalViewController:animated:];
2 голосов
/ 01 февраля 2011

Будет лучше, если вы нажмете и откроете контроллеры view в навигацию.
Пример кода:

-(IBAction) CallNumberClicked  
 {  
    static DialNumberViewController *viewController=nil;  
    if(viewController==nil)  
        viewController=[[DialNumberViewController alloc] initWithNibName:@"DialNumberViewController" bundle:nil];  
    [self.navigationController pushViewController:viewController animated:YES];  
  }
1 голос
/ 01 февраля 2011

Чтобы согласиться с тем, что другие уже добавили.Вам следует взглянуть (если вы еще этого не сделали) на Apple View Controller Руководство по программированию .Он предоставит некоторое хорошее представление об управлении представлениями и предоставит примеры различных методов для этого (Pushing, Modal и т. Д.).

РЕДАКТИРОВАТЬ

Поскольку звучит так, как будто вы хотите показывать по одному представлению за раз (без стека, без модального режима), тогда вы действительно должны смотреть на UITabBarController, чтобы помочь организовать ваши контроллеры представления.Это позволит вам легко переключаться с одного на другой. Здесь - некоторые подробности о том, как его настроить, вам нужно прокрутить вниз до раздела «Панель вкладок».Надеюсь, это поможет!

0 голосов
/ 25 января 2015

Я делаю это с помощью протоколов и обратных вызовов. Текущий ViewController перезванивает на исходный, а исходный освобождает «текущий».

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