2012-01-21 5 views
4

, как я могу создать IBOutlet или IBAction с учетом следующих условий:Как я могу создать `` IBOutlet` или IBAction` в пользовательском классе

  • IBAction или IBOutlet должны быть созданы внутри моего пользовательского класса (унаследованный от NSObject)
  • NSButton экземпляр виден внутри Interface Builder (XCode 4)

Короче я хотел бы добавить щелчок действие от кнопки к моему классу.

Любая помощь appriciated, спасибо :)

EDIT 19.02.2012

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

Я хотел подключить acitions компонентов из других областей, которые невозможно из того, что я знаю :(

ответ

5

Посмотрите учебник документации Apple, какао, который поставляется с Xcode 4, это, скорее, фундаментальный для модели дизайнера Xcode/Cocoa/интерфейса!

В общих чертах:

@interface MyCustomClass 

- (IBAction) myButtonClickAction:(id)sender; 

@end 

@implementation MyCustomClass 

- (IBAction) myButtonClickAction:(id)sender 
{ 
    NSLog(@"My button has been clicked"); 
} 

@end 

Теперь в конструкторе интерфейса (только открыть .xib файл в Xcode, чтобы получить дизайнер), вам необходимо:

  1. Добавить экземпляр MyCustomClass - выберите Объект от Объектная библиотека и перетащите ее на свои Объекты (обычно на холсте) или на холсте дизайна (он просто пойдет в Obje cts и не создавать графический виджет на холсте). Теперь выберите добавленный Объект и в Инспектор (обычно на хребте) устанавливает класс MyCustomClass. Теперь, когда ваше приложение запустится, будет создан экземпляр MyCustomClass.
  2. Выберите ваш NSButton на дизайн-холсте, выберите Подключения вкладка в Inspector. Нажмите и перетащите из селектор под Отправленные действия на ваш MyCustomClass под Объекты. При выпуске вы получите меню IBAction s для выбора, выберите myButtonClickAction.
  3. Возможно, вы захотите добавить IBOutlet к своему делегату , чтобы связать с созданным экземпляром настраиваемого объекта, если вы этого не сделаете, у вас не будет прямого доступа к нему. Процесс для этого следует тому же шаблону, что и для IBAction выше.

То есть, на словах (помощь с изображениями) и очень кратко.

Теперь прочитайте эти учебники!

+0

Я опускал шаг 3 и не мог понять, почему объект был создан, но был недоступен - спасибо! –

0

IBOutlet и IBAction просто флаги, которые будут использоваться при сборке интерфейса er для подключения UIComponents и их действий к классам (отсюда и префикс IB). Это все, для чего они используются - вы не используете их для программной привязки кнопок с действиями.

Если вы хотите подключить кнопку к действию, вам нужно добавить и активировать кнопку.

(не уверен, синтаксиса с NSButton, так как я программист IOS - но искать документы, и это должно быть ясно)

+0

Элементы управления в какао имеют только одну цель и действие, поэтому вы просто установите «действие» кнопки и, опционально, ее «цель» (без ее настройки она отправит действие по цепочке ответчиков). –

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