2012-02-06 3 views
1

В предыдущих версиях Interface Builder, когда я хочу ленивый вид нагрузки программен, я хотел бы сделать что-то вроде:Как ленивый вид нагрузки программна из раскадровки

self.customView = [[NSBundle mainBundle] loadNibNamed:@"CustomView" owner:nil]; 

Если я правильно понимаю, это был правильный путь сделать это. Кажется, что нет способа сделать это с помощью раскадровки, так как нет возможности добавить представление в сам раскадровку (не будучи частью контроллера представления).

У меня есть контроллер вида, который управляет несколькими видами. Я не хочу, чтобы все они были загружены в viewDidLoad, поэтому я не хочу включать их в контроллер контроллера. Есть ли другой способ? если нет, я все равно мог бы создать nibs и все еще использовать loadNibNamed. Может ли кто-нибудь советовать о том, является ли это подходящей стратегией, смешивать носы и раскадровки? Тот факт, что Apple отказался от такой загрузки взгляда в раскадровки, заставляет меня немного волноваться.

ответ

0

Может ли кто-нибудь посоветовать, является ли это подходящей стратегией, смешивать наконечники и раскадровки?

XIBS и раскадровки не являются взаимоисключающими. Нет причин, по которым вы не должны использовать их в одном приложении. Я фактически использую несколько Storyboards и xib в одном приложении. Работает отлично.

+0

Уверен ли тогда, что нет возможности загрузить «часть» раскадровки? Они могут работать хорошо вместе, но иногда удобно иметь похожие активы рядом друг с другом, и можно предположить, что раскадровки являются началом конца для файлов nib (??) –

+1

Да, вы можете загрузить любой контроллер вида из раскадровки, если вы хотите использовать 'instantiateViewControllerWithIdentifier:'. Это не означает, что xibs исчезнут, так же как вы все еще можете создать весь пользовательский интерфейс в коде, хотя xibs могут упростить работу без кода. –

+0

Awesome. Спасибо! –

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