Создание флажка программно с использованием Какао - PullRequest
18 голосов
/ 11 сентября 2009

Мне нужно создать флажок программно в Какао, и когда я пытаюсь сделать кнопку с buttonType, установленным на NSSwitchButton, он отображает заголовок, но не показывает кнопку как флажок. Я думаю, что мне чего-то не хватает, но я не могу найти никаких ресурсов о создании таких вещей, как флажки, без использования графического интерфейса Xcode.

Ответы [ 3 ]

37 голосов
/ 16 октября 2009

Вопрос немного старый, так что вы, наверное, уже поняли, но я нашел его, когда искал именно эту вещь. Алекс танцевала вокруг решения, фактически не предоставляя его. Итак, здесь, для Google и всего человечества: как программно создать флажок в Какао.

NSRect frame;
frame.size.width = frame.size.height = 18;
NSButton *myCheckBox = [[NSButton alloc] initWithFrame:frame];
[myCheckBox setButtonType:NSSwitchButton];
[myCheckBox setBezelStyle:0];  // This is unnecessary. I include it to show that checkboxes don't have a bezel style.

[myView addSubview:myCheckBox];
3 голосов
/ 11 сентября 2009

Я не думаю, что кнопки по умолчанию сбрасываются при создании программно. Проверьте метод setBezelStyle:, а также setBezeled: и setBordered:. Один из них должен дать вам то, что вы хотите.

1 голос
/ 11 сентября 2009

Мне не удалось правильно выполнить setImagePosition, и это заставляло флажок не отображаться.

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