Разработка представления в Интерфейсном Разработчике, но с некоторой логикой, определенной в коде - PullRequest
0 голосов
/ 21 сентября 2010

Я хочу создать простой «элемент управления», в котором будут определены 4 UILabels. С одной стороны, я хотел бы использовать Interface Builder для компоновки моего дизайна, но с другой стороны, я хотел бы показать некоторые свойства, которые будут определять содержимое каждой метки - возможно ли это?

@interface CompositeView : UIView{
int numberOne; 
int numberTwo; 
}
@property(nonatomic,assign) int numberOne; //set from view controller and reflected by first UILabel text
@property(nonatomic,assign) int numberTwo; //set from view controller and reflected by second UILabel text

Теперь в идеале я хочу сделать что-то вроде:

compositeView.numberTwo=9232;

на мой взгляд контроллер. Проблема в том ... как мне спроектировать внешний вид представления в IB, но выставить / реализовать некоторую необходимую логику в коде? Одна идея состоит в том, чтобы загрузить файл NIB в CompositeView с определенным представлением и добавить такое представление в качестве подпредставления ... но похоже на борьбу с фреймворком.

1 Ответ

2 голосов
/ 21 сентября 2010

Сделайте ваше свойство "IBOutlet", затем подключите его к метке в Интерфейсном Разработчике. Возможно, вам придётся сделать их строками и выполнить преобразование явно, но подключение значения, отображаемого в Интерфейсном Разработчике, является одним из его сильных сторон. IBOutlets предназначены для свойств, которые вы хотите, чтобы Interface Builder мог видеть, а IBActions для методов, которые вы хотите иметь возможность вызывать из элемента управления пользовательского интерфейса из Interface Builder.

Я бы рекомендовал пройтись по некоторым примерам и проследить проводку, чтобы понять IBOutlet и IBAction.

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