2013-09-17 3 views
0

У меня есть требование в моем приложении, чтобы добавить пользовательское новое текстовое поле в контроллер вида i.e. View A. Детали поля должны быть заполнены в другом представлении, то есть в представлении B, которое нажимается, когда мы нажимаем кнопку добавления поля. На данный момент я нажимаю кнопку «Добавить текстовое поле», и когда все данные поля были заполнены снова на кнопке «Готово», я нажимаю новый экземпляр предыдущего контроллера представления ieView A. Мое текстовое поле добавляется, но существующие все данные удаляются из остальных полей в представлении A. Я попытался выскочить на кнопку «Готово», но не создает новое текстовое поле на виду. Хотя все данные поля не повреждены.Как воссоздать представление о появлении?

Итак, есть способ воссоздать полный вид при всплывании, чтобы было создано новое текстовое поле, и мои данные в предыдущем представлении контроллера не потеряны.

+0

Пожалуйста, отредактируйте ваше сообщение и уточните, что вы делаете, в своем названии он говорит, что контроллер popping view, в вашем теле он говорит, что появляются всплывающие окна. ViewController! = Просмотр. Таким образом нам будет легче помочь вам. – danypata

+0

Я просто не понимаю ваш вопрос, извините! – Jochem

ответ

0

Если вы используете механизм push/pop в UINavigationController, предыдущие данные никогда не теряются. Ваша иерархия контроллера должна быть такой:

UINavigationController -> FirstViewController -> DetailViewController

FirstViewController

DetailViewController *dvc = [self.storyboardinstantiateViewControllerWithIdentifier:@"DetailViewController"]; 
[self.navigationController pushViewController:mv animated:YES]; 

DetailViewController

[self.navigationController popViewControllerAnimated:YES]; 

Или вы можете сделать это на раскадровке с соединениями.

0

Вы должны вернуться к предыдущему ViewA, чтобы не потерять данные, которые вы там ввели, но добавьте новое текстовое поле в код, когда вы это сделаете. Вы можете создать протокол делегата в ViewB с помощью метода, который вы вызываете с помощью вашей кнопки «Готово» (вам, вероятно, понадобится установить флаг, чтобы вы вызывали метод только один раз, если хотите создать только одно текстовое поле). Реализация этого метода в ViewA создаст текстовое поле и добавит его в представление в соответствующем месте.

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