在 NSMenuItem 中设置 NSScrollView 的最大高度
Setting maximum height for NSScrollView inside NSMenuItem
我目前正在为 OS X 开发菜单栏应用程序。我想在菜单内的 NSTableView 中显示一些数据。我已经设法将第一个 NSMenuItem 的视图设置为我的 NSScrollView。
问题是我不知道如何设置 NSScrollView 的最大高度。我想要类似于 Shazam 或 Adobe Creative Cloud 应用程序的东西:一个带有 TableView 的小菜单,它可以滚动但不会填满屏幕的整个高度。
这是我目前拥有的:
现在的工作方式是,菜单会根据我放入 TableView 的数据量自动填充整个屏幕。
这是 Shazam 应用程序执行此操作的方式的屏幕截图:
它们在 table 中显示大量信息,但限制 NScrollView 具有固定高度。
我不认为这很难做到,但我不知道去哪里寻找这个选项。
任何帮助将不胜感激:)
此致,
蒂莫
我终于明白了!我为 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。现在一切正常。
这就是现在的结果:
正是我想要的:)
此致,
蒂莫
我目前正在为 OS X 开发菜单栏应用程序。我想在菜单内的 NSTableView 中显示一些数据。我已经设法将第一个 NSMenuItem 的视图设置为我的 NSScrollView。 问题是我不知道如何设置 NSScrollView 的最大高度。我想要类似于 Shazam 或 Adobe Creative Cloud 应用程序的东西:一个带有 TableView 的小菜单,它可以滚动但不会填满屏幕的整个高度。
这是我目前拥有的:
现在的工作方式是,菜单会根据我放入 TableView 的数据量自动填充整个屏幕。
这是 Shazam 应用程序执行此操作的方式的屏幕截图:
它们在 table 中显示大量信息,但限制 NScrollView 具有固定高度。
我不认为这很难做到,但我不知道去哪里寻找这个选项。
任何帮助将不胜感激:)
此致,
蒂莫
我终于明白了!我为 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。现在一切正常。
这就是现在的结果:
正是我想要的:)
此致,
蒂莫