2016-05-03 2 views
0

В настоящее время я работаю над приложением панели меню для OS X. Я хочу, чтобы в меню отображались некоторые данные в NSTableView. Мне уже удалось установить вид первого NSMenuItem на мой NSScrollView. Проблема в том, что я не знаю, как установить максимальную высоту для NSScrollView. Я хочу нечто похожее на приложение Shazam или Adobe Creative Cloud: небольшое меню с TableView внутри него, которое прокручивается, но не заполняет всю высоту экрана.Установка максимальной высоты для NSScrollView внутри NSMenuItem

Вот что я в настоящее время:

NSScrollView inside NSMenuItem

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

Вот скриншот того, как приложение Shazam делает это:

Shazam App

Они показывают много информации внутри таблицы, но ограничили NScrollView иметь фиксированную высоту.

Я не думаю, что это сложно сделать, но я не знаю, где искать вариант.

Любая помощь будет очень признателен :)

С уважением,

Timo

+0

может быть, когда viewWillAppear установить рамку из просмотреть прокрутку? – hola

ответ

0

я, наконец, понял это! Я назначил неверный взгляд на NSMenuItem.

Теперь у меня есть два выхода внутри моей AppDelegate:

@IBOutlet weak var myMenuItem: NSMenuItem! 
@IBOutlet weak var myScrollView: NSScrollView! 

Внутри applicationDidFinishLaunching() Поручаю NSScrollView на вид имущества NSMenuItem:

func applicationDidFinishLaunching(aNotification: NSNotification) { 
    ... 
    self.myMenuItem.view = myScrollView 
    ... 
} 

Проблема я имел обыкновение иметь, что Я устанавливаю представление элементов меню в NSTableView напрямую, а не в NSScrollView. Сейчас все работает отлично.

Вот что результат выглядит в настоящее время:

Final Result

Именно то, что я хотел :)

С уважением,

Timo

Смежные вопросы