Как я могу инициализировать пользовательский класс GUI? - PullRequest
0 голосов
/ 18 июля 2011

Я разрабатываю приложение для iPad.

Теперь я столкнулся со следующей проблемой. Я создал «Пользовательский класс» для UIScrollView. Поэтому в моем nib-файле я добавил UIScrollView по умолчанию и установил Custom Class в MultiSelectView (это созданный мной собственный класс). Снимок экрана здесь .

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

Проблема в том, что мне интересно, как я могу инициализировать определенные объекты, которые мне нужны в этих методах. Кажется, что - (id)initWithFrame:(CGRect)frame {} не вызывается, и не является - (void) viewDidLoad {}.

Таким образом, есть ли способ инициализировать пользовательский (GUI) класс?

Ответы [ 2 ]

2 голосов
/ 18 июля 2011

Когда вы разархивируете представление из файла .xib, оно не отправляется -initWithFrame:, как вы заметили.Вместо этого отправляется -initWithCoder:.

Итак, если у вас есть какой-либо подкласс UIView в файле .xib, который требует пользовательской инициализации, вам нужно переопределить -initWithCoder:, а также (или вместо) -initWithFrame:.

1 голос
/ 18 июля 2011

Похоже, вам нужно initWithCoder, оно вызывается, когда объект загружается из NIB

Или, лучше, awakeFromNib.Разница в том, что awakeFromNib вызывается, когда все розетки подключены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...