Итак, я разработал класс раскрывающихся кнопок.
Давайте назовем это DDButton.
Я в основном экспортирую одну функцию:
-(void) addButtonWithImage:(UIImage*)image andTarget:(id)target andSelector:(SEL)selector
, который позволяет пользователю добавить еще одну кнопку в раскрывающемся списке.
Мне нужно будет использовать DDButton на разных экранах моего приложения.
Я хотел бы использовать это как:
DDButton* ddb = [[DDButton alloc] initWithFrame:rect];
[ddb addButtonWithImage....]
[ddb addButtonWithImage....]
У меня такой вопрос, так как я никогда не разделял UIView на подклассы, как мне его реализовать и как использовать его позже?
Использую ли я IB и создаю заглушку UIView, которую я подключу к DDButton в Identity Pane?
если да, то как именно я создаю экземпляр представления позже.
Или,
Подкласс UIView? если да, то какие методы мне следует переопределить? Вы настраиваете мои кнопки в инициализаторе? в LayoutSubView? В drawRect?
Я бы хотел услышать лучший подход здесь.
Спасибо!
Редактировать
Допустим, я выбрал способ IB: у меня есть главная кнопка, которую я установил независимо от
addButtonWithImage () вызывает, фактически все вызовы addButtonWithImage просто «добавляют» к этой кнопке. Я хочу, чтобы основная кнопка соответствовала размеру представления, пока другие кнопки не будут добавлены, а затем представление соответствующим образом увеличится. Тем не менее, я хочу, чтобы размер вида был выбран пользователем сначала ... используя setFrame, я думаю.
То есть в awakeFromNib я пока не могу рассчитывать на размер кадра (он принимает только размер xib, который я предполагаю). Так где бы я установить свою главную кнопку? LayoutSubView? setFrame? Я не уверен.