NSToolbar выглядит по-разному в Leopard и Snow Leopard - PullRequest
0 голосов
/ 06 марта 2011

У меня есть приложение Какао, над которым я работаю, и я получаю другой результат по внешнему виду для NSToolbar , который я использую для главного окна.

В частности, я использую поле поиска как последнее NSToolbarItem и, тогда как в Snow Leopard оно отображается правильно: enter image description here

оно вырезано под Leopard: enter image description here

Глядя на эти две версии, кажется, что промежутки, которые я помещаю между предметами, не соблюдаются при Леопарде.Я также видел, что иногда, после того как я сделал какое-то обновление на панели инструментов в Интерфейсном Разработчике, эти изменения не отражаются в работающем приложении даже в Snow.Мне нужно перетащить панель по умолчанию из меню настройки, чтобы увидеть их.

ОБНОВЛЕНИЕ Причина, по которой NSToolbar не всегда отражает то, что находится в файле .nib, заключается в механизме автосохранения.это было разрешено для меня, как предложил Н.С.Год.

Что может быть причиной такого неправильного поведения?Есть ли что-то в ограничениях (минимальных и максимальных) размеров, которые я должен был принять во внимание?Не стесняйтесь направлять мне некоторую документацию

ОБНОВЛЕНИЕ 2 Есть ли способ программно представить элемент и пробелы в NSToolbar или проверить согласованность (во время выполнения) тех, которые были введены с помощью Interface Builder

1 Ответ

1 голос
/ 06 марта 2011

Хотя я помню, что у меня было несколько странностей с полями поиска в NSToolbar с, я никогда не видел поведения, при котором правая часть отсекается.

Являются ли NSToolbarItem s пробелами фиксированным единичным пробелом или гибкими пробелами?

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

Вам необходимо помнить, что если вы включили пользовательскую настройку и автоматическое сохранение поведения на панели инструментов, то, когда пользователь явно вносит изменения, оно будет сохранено в пользовательских настройках по умолчанию. Если вы затем перегруппируете свою панель инструментов в IB и запустите приложение, вполне возможно, что конфигурация, сохраненная в пользовательских настройках по умолчанию, переопределяет конфигурацию по умолчанию, указанную вами в файле nib.

Что я обычно делаю во время тестирования, удалите файл prefs для моего приложения, чтобы изменения не могли быть отменены. (FWIW, я обычно использую AppleScript, сохраненный как приложение, которое я храню в своей док-станции. Он просто запускает команду do shell script, которая удаляет файл prefs. Будучи человеком с графическим интерфейсом, мне проще щелкнуть по нему чтобы он запускался прямо перед отладкой. Эта версия скрипта запрашивает файл prefs для удаления, хотя его также можно настроить: http://www.markdouma.com/developer/DeleteAppPrefs.zip. Если вы никогда не запускали его раньше, вы получите диалоговое окно выбора файла, и выбранный файл сохраняется как псевдоним внутри фактического AppleScript, поэтому вас больше не спрашивают. Вы можете перетащить значок в редактор AppleScript, чтобы посмотреть на сценарий или изменить его).

В любом случае, тогда, если я собираюсь выпустить новую версию приложения, которое использует новую разметку панели инструментов, и хочу предотвратить переопределение конфигурации, я изменю идентификатор панели инструментов (или имя автосохранения) на что-то вроде "docToolbar2.0".

...