Программно создавая элементы управления в какао - PullRequest
15 голосов
/ 08 декабря 2008

Согласно Программирование какао для Mac OS X, 3-е издание , на странице 245 (глава 17), вы обычно создаете представления в Интерфейсном Разработчике. Однако их можно создавать в коде, например:

NSView *superview = [window contentView]; 
NSRect frame = NSMakeRect(10, 10, 200, 100); 
NSButton *button = [[NSButton alloc] initWithFrame:frame]; 
[button setTitle:@"Click me!"]; 
[superview addSubview:button]; 
[button release]; 

Это все хорошо, но как мне подключить указанные выходы элемента управления к действиям в коде? (В .NET это легко; добавить делегата ... Я надеюсь, что в Cocoa / Obj-C это так же просто.)

Ответы [ 3 ]

25 голосов
/ 08 декабря 2008

Вы можете подключить их с помощью простого назначения. Чтобы продолжить ваш код сверху:

[button setTarget: self];
[button setAction: @selector(myButtonWasHit:)];
11 голосов
/ 09 декабря 2008

А если вы хотите нацелиться на первого респондента, а не на конкретный объект:

[button setTarget:nil];
[button setAction:@selector(myAction:)];
1 голос
/ 07 апреля 2015

Swift:

button.target = self
button.action = "myAction:"

И, конечно, добавьте функцию myAction к себе:

func myAction(sender: NSButton) {
    println("click!")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...