【问题标题】:Location of Add/Delete Buttons for an NSTableView in OS XOS X 中 NSTableView 的添加/删除按钮的位置
【发布时间】:2016-07-31 02:28:26
【问题描述】:

我想我一定错过了一些简单但对 Xcode 不熟悉的东西......具体来说,我正在使用 Swift 进行编码,但我相信这更像是一个 .xib 文件问题。在 NSTableView 之外添加和删除按钮很容易(例如本机邮件应用程序的 Preferences->Signatures 面板),但是如何将这些按钮集成到 NSTableView 本身? (更像是原生邮件应用程序的 Preferences->Accounts 面板)理想情况下,我希望该选项不仅仅是添加/删除按钮,但一旦我了解了添加更多功能的过程应该很容易。

【问题讨论】:

    标签: macos xib nstableview


    【解决方案1】:

    这些按钮没有集成,它只是一个与表格视图底部对齐的NSSegmentedControl

    要获得NSSegmentedControl 的这种特殊外观

    • Style 设置为Small Square
    • Mode 设置为Momentary
    • 将段0的Image设置为NSAddTemplate
    • 将Segment 1的Image设置为NSRemoveTemplate
    • 将段0和1的width设置为Auto
    • 将 Segment 2 的 width 设置为固定宽度。

    【讨论】:

      【解决方案2】:

      我也有同样的问题,我发布了answer here :)

      但我认为它是一个 NSView,其中包含 2 个用于 + & - 的 NSButton,正如我在上面链接的答案中所发布的那样。

      【讨论】:

      • 不,是NSSegmentedControl
      • 是的,你也可以使用它。我在我的用例中使用了按钮,尽管它有点不同。我以为分段控制在 - 之后没有宽度,我不知道如何设置它。感谢您在答案中解释。不过,我只有 15 天的 Swift 经验。谢谢指正。
      【解决方案3】:

      您展示的特定示例只是容器视图中的一些按钮,它们与包含表格视图的滚动视图的底部相邻。容器视图绘制背景以匹配按钮和边框。它可能实际上将滚动视图“重叠”了一点,因此您不会在它们之间获得双重边框。

      事实上,如果你仔细看,容器视图太窄了一点,以至于它的右边框与滚动视图的右边框不匹配。那种证明它不是滚动视图的一部分或在滚动视图中。

      【讨论】:

      • 好的,由于您发现的小异常,我认为在实际 NSTableView 之外发生了一些事情——但我的新手后续问题是 IB 中的“容器视图”是什么?那是另一个 View Controller 只是被用来创建一个边界或其他东西吗?
      • 这只是一个视图,您可以将其他视图放入其中。在对象列表中,它将被标记为自定义视图。如果您可以使用标准视图属性获得所需的外观,则不必使用自定义视图。它只是NSView 的一个实例。否则,您必须编写自己的 NSView 子类,并在身份检查器中将自定义视图的类设置为您的子类。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-06
      • 2018-05-30
      • 2018-01-27
      • 1970-01-01
      • 2021-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多