как использовать пользовательский NSView в строке меню, загруженной из пера - PullRequest
0 голосов
/ 28 марта 2012

Во-первых, новинка для Какао и Objective-C, поэтому мои извинения, если это неясно, и я неправильно использую всю терминологию, приветствуются мягкие исправления.

Я пытаюсь написать очень простое приложение, в котором есть что-то пугающее в строке меню.

Я подошел довольно близко, я могу получить базовое текстовое меню, но мне бы очень хотелось иметь собственное представление в фактической части меню, например так: screenshot of where i want the custom view

Я очень обрадовался, когда нашел пример в этом ответе , и я могу как-то увидеть, куда он отправляет setView своему statusItem с его собственным объектом просмотра, но я бы хотел спроектируйте мой взгляд в Интерфейсном Разработчике.

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

Я много читал о drawRect, и я предполагаю, что это как-то связано с тем, каким будет ответ, но мои отбивные из какао еще не пришли.

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

1 Ответ

2 голосов
/ 29 марта 2012

Вам не нужно использовать drawRect (если вы не делаете свой собственный рисунок) или устанавливать рамку, вы можете сделать это в IB.Просто перетащите пользовательский вид, измените его размер и поместите в него все, что вы хотите.Имейте IBOutlet в одном из ваших классов, который подключается к нему, и после создания элемента строки состояния вызовите setView: on с вашим IBOutlet для пользовательского представления в качестве аргумента.Строка состояния имеет высоту всего 22 пикселя, поэтому ваше мнение должно учитывать это.Кажется, что это странное поведение этого элемента состояния по отношению к распоркам в функции автоматического изменения размера в IB.Я заметил, что если верхняя или правая распорка включена сама по себе, вид не появляется (но с левой или нижней стороны все в порядке).Также кажется, что он работает со всеми 4 включенными или выключенными.

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