2015-04-10 7 views
0

У меня есть элементы UI (UIViews, labels и datapicker), созданные в Storyboard, которые я хочу инициализировать только в том случае, если пользователь нажимает UIButton: в настоящее время я просто скрываю и показываю его ... lol , Это хорошо, но не идеально, я думаю, конечно, есть лучший способ. Можно ли, например, загружать IBOutlets лениво ... т. Е. Только если они нужны?Lazy загрузка элементов пользовательского интерфейса/IBOutlets

ответ

2

Нет. В принципе, когда создается представление, все элементы управления в нем создаются, и все IBOutlets подключаются как часть его настройки.

Что вам нужно, чтобы задержать создание частей вашего вида, пока они вам не понадобятся. И управление, и проводка. Вам нужно будет извлечь эти элементы управления для отдельного представления, раскадровки или xib-файла и использовать код для их загрузки. Вы можете вручную добавлять виды или, возможно, вручную использовать встроенный сегмент. Другой альтернативой является пользовательский контроль.

Но я догадываюсь, что из вашего описания, что все это слишком много, и ваше приложение на самом деле очень счастливо, как есть.

+0

Хорошо, спасибо - я думаю, что буду реализовывать одно из ваших предложений, если я заметлю проблемы. Я просто чувствовал, что укрытие было немного взломанным, но сейчас нужно будет это сделать. Спасибо ! – KML