Готовые компоненты какао прожектора UI - PullRequest
4 голосов
/ 21 января 2011

Я новичок в разработке на Mac и собираюсь реализовать интерфейс, похожий на Spotlight - основная часть, которая выглядит как расширяющееся представление таблицы / сетки.

alt text

Мне было интересно, есть ли компонент, который Apple предоставляет для создания чего-то подобного, или он доступен с открытым исходным кодом где-то еще.Я просто попробую и сам что-нибудь придумаю, но всегда стоит проверить!

Спасибо за вашу помощь заранее.

1 Ответ

4 голосов
/ 21 января 2011

Новый ответ (декабрь 2015 г.)

В эти дни я бы использовал вертикальный вид стека ( NSStackView ).

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

Настройку приоритета можно использовать, чтобы убедиться, что ваше предположение о том, что должно быть «достаточно» результатов, не вызывает уродливых проблем компоновки, позволяя представлению стека «пожертвовать» последними несколькими.

Вы даже можете эмулировать запись Spotlight «Настройки Spotlight» (или опцию «показать все»), добавив ее последней и установив ее приоритет на значение (1000), чтобы оно всегда оставалось на месте, даже если записи результата над ним скрыты из-за недостаток места.

В последнее время все мои дизайны пользовательского интерфейса для 10.11 (и далее) используют тяжелый их использование. Я продолжаю находить новые способы упростить мои макеты с ними. Учитывая, насколько они легки, они должны стать вашим первым решением сначала , если вам не нужно что-то более сложное (инженеры Apple заявили в видео WWDC, что они предназначены для такого использования).

Старый ответ 2011

Это частный Apple API. Я не знаю никаких инициатив с открытым исходным кодом, которые имитируют это из рук в руки.

Если бы я пытался это сделать, я мог бы использовать NSTableView без вложенного представления прокрутки, без заголовков, двух столбцов, выровненного по правому краю текста более светлого цвета в левом столбце, легко отображаемой ячейки изображения / текста в правом столбец, с включенными вертикальными линиями сетки. Контейнерное представление будет наблюдать табличное представление для изменений кадра и соответственно изменять его размер / положение.

Добавление: Также было бы неплохо проверить, отличается ли правый / левый выравниваемый текст (или даже положение столбцов) в языках с разными путями развертки. Пример: арабский и иврит читаются справа налево. Лучше адаптироваться, чем сказать «кого это волнует» (он говорит легкомысленно, хорошо зная, что у его собственных приложений есть проблемы с такого рода вещами :-)). Вы можете проверить это, убедившись, что такие языки установлены на вашем компьютере, затем переключиться между ними и протестировать Spotlight. Смена языков не должна создавать проблем, поскольку интерфейс переключения языков не зависит от чтения иностранного языка. : -)

...