2013-05-06 3 views
0

Я пытаюсь сделать приложение, используя Interface Builder (вместо Storyboard) в первый раз, но я застрял. Можно ли изменить вид с помощью ViewController в том же XIB? Мне бы хотелось, чтобы при нажатии кнопки вид изменился на другой ViewController, присутствующий в том же XIB file. Должен ли я перезвонить? Если да, то какой?Изменить вид в одном XIB

+0

Похоже на то, что вы пытаетесь сделать, для чего предназначены раскадровки. Почему вы хотите использовать xib-файл? Я думаю, что намерение Apple состояло в том, что раскадровки должны в значительной степени заменить xib-файлы как новый способ сделать пользовательский интерфейс. – rdelmar

+0

Вы правы, на самом деле я обычно использую раскадровки; но я хотел попробовать интерфейс Builder в это время. Проблема в том, что я почти закончил свое приложение, я не могу перезапустить эту небольшую проблему. – CrazySoftware

+0

Я не понимаю, что вы пытаетесь сделать - файлы xib содержат представления, а не контроллеры представлений (контроллер представления обычно является владельцем файла). Вы можете поместить несколько представлений в xib-файл, если хотите, и переключаться между ними для своего одного контроллера, но это не переключает контроллеры представлений. – rdelmar

ответ

0

Если у вас есть 2 контроллера просмотра с 2 .xib файлами, как этот

enter image description here

Вы можете представить NextViewControler из вашей кнопки пресс метода ViewController, в

-(IBAction) yourButtonPressed:(id)sender;{ 
    NextViewController *nextViewController = [[NextViewController alloc] initWithNibName:@"NextViewController" bundle:nil]; 
    [self presentViewController:nextViewController animated:YES completion:nil]; 
} 

EDIT:

Вы можете представить тот же viewcontroller, как это.

-(IBAction) yourButtonPressed:(id)sender;{ 
    ViewController *viewController = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil]; 
    [self presentViewController:viewController animated:YES completion:nil]; 
} 
+0

Нет, у меня есть только 1 .xib-файл с одним ViewController. – CrazySoftware

+0

Я обновил ответ, теперь проверьте. –

+0

Спасибо, но я допустил ошибку; У меня есть два окна, а не два ViewControllers. Поэтому я использовал «AppDelegate» для первого окна. Кнопка должна изменить вид из первого окна во второй при нажатии. Сожалею! – CrazySoftware

Смежные вопросы