2014-09-08 2 views
1

Я изучаю iOS и новичок в концепции IBOutlets - поэтому я делаю простое приложение, пытаясь узнать, как это работает.Добавление IBOutlet в пользовательский класс

Проблема: Я создал интерфейс с помощью раскадровки и хочу подключить его к IBOutlet в моем пользовательском классе («TapCounter»), чтобы получить доступ (и быть в состоянии установить) его текстовое поле. Однако при попытке подключить мой класс «@property (nonatomic, weak, readwrite) IBOutlet UILabel* numberOfTapsTextField; до UILabel в раскадровке линия не хочет прикрепляться к метке.

Вот изображение ситуации: http://gyazo.com/0050ef0a78772adcad214cdc4603f932 (Перетаскивание линии из полого круга рядом с @property на ярлык в раскадровке не привязывается к нему).

Я не изменяли ничего шаблонного кода, за исключением того, что я добавил #import «TapCounter.h» в viewController.m

Это чувствует, как это должно быть очень простая вещь - но опять-таки; Я новичок в этом.

EDIT

Есть ли у меня эта идея неправильно? Должно ли все IBOutlets находиться в viewController вида (и просто получать доступ к другим пользовательским классам)?

+0

Вы изменили свой собственный класс объектов TapCounter в раскадровке? – Greg

+0

TapCounter следует подклассифицировать из UIViewController. –

+0

Нет, UILabel - это UILabel, почему бы мне изменить его на что-то еще? @Greg –

ответ

2

Это работает так:

  1. создать CustomView класс
  2. добавить view в вас раскадровке
  3. набор класс для этого вида в качестве CustomView в идентичности инспектора Cmd + Opt + 3
  4. Создайте IBOutlate вашего компонента внутри customView
  5. Связать эти компоненты с соответствующим выходом

см Изображение: enter image description here

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