Цель C, панель HUD? - PullRequest
       21

Цель C, панель HUD?

0 голосов
/ 01 апреля 2012

У меня есть панель HUD с парой кнопок, надписью и текстовым полем, в которое пользователь может вводить данные. Прямо сейчас это работает отлично, за исключением того, что я хочу избавиться от строки заголовка. От заголовка действительно легко избавиться, так как я могу просто снять флажок «Панель заголовка» в конструкторе интерфейса. Проблема в том, что когда я избавляюсь от строки заголовка, она становится недоступной для редактирования, поэтому пользователь не может ничего вводить в текстовом поле. Почему это так и как я могу это исправить?

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

Спасибо заранее.

Ответы [ 2 ]

1 голос
/ 01 апреля 2012

Все, что вам нужно сделать, это:

Подкласс Ваш NSPanel и переопределить canBecomeKeyWindow, как упомянул rdelmar.

Вы можете сделать это так:

создать класс панели:

.h

@interface panel : NSPanel {

}

@end

.m

#import "panel.h"

@implementation panel

-(BOOL)canBecomeKeyWindow
{
    return YES;
}

@end

Не забудьте изменить класс панели на созданный вамикласс в личность инспектора .

enter image description here

1 голос
/ 01 апреля 2012

Вам нужно переопределить canBecomeKeyWindow и вернуть YES.

Из документов: Реализация NSWindow возвращает YES, если у окна есть строка заголовка или строка изменения размера, или NO в противном случае.

...