Установить метку при просмотре, отклонить - раскадровка xCode - PullRequest
0 голосов
/ 14 января 2012

Я использую seque раскадровки, чтобы смоделировать UIViewController поверх моего tabbarController.Назначение всплывающего контроллера представления состоит в том, чтобы взять несколько пользовательских вводов и вернуть ответ на метку в одном из представлений панели вкладок (тот, который был выбран до появления контроллера представления).

В своем коде я добавил #import "viewBeforePopup.h" в заголовочный файл poppedUpView.h.

Затем я создаю розетку

IBOutlet viewBeforePopup *view;

С кнопкой, которая вызывает отключение контроллера представления, связан этот код


NSString *strToSet = textbox.text;

[view.label setText:strToSet];

[self dismissModalViewControllerAnimated:YES];

Thisиспользовать для работы до меня в режиме раскадровки.Следует отметить, что раскадровка содержит контроллер панели вкладок, который изначально загружен, а затем я добавил дополнительный UIViewController.

Вид исчезает правильно, и вид панели вкладок виден, но метка не изменяется.Я отладил проверенную строку, которую я пытаюсь присвоить метке, имеет значение, и это так.Просто кажется, что все работает, кроме применения текста к метке.

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

Заранее спасибо

Ответы [ 2 ]

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

Вам необходимо установить протокол делегата, который позволял бы одному контроллеру представления записывать данные обратно в другой контроллер представления. Прочитайте Понимание Основные шаблоны проектирования .

Я искал учебник для вас, который объясняет, как реализовать шаблон проектирования делегата. Есть несколько шагов, чтобы заставить это работать. Этот учебник содержит все шаги.

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

по предположению, это, вероятно, снимок снимка модального вида и его анимация.попробуйте что-то вроде:

- (void)dismissModal {
  [self dismissModalViewControllerAnimated:YES];
}

....

  NSString *strToSet = textbox.text;
  [view.label setText:strToSet];
  [self performSelector:@selector(dismissModal) withObject:nil afterDelay:0.1];
...