【问题标题】:NSToolbarItem and Auto LayoutNSToolbarItem 和自动布局
【发布时间】:2017-02-28 23:30:03
【问题描述】:

我有一个带有以编程方式创建的工具栏的窗口,其中填充了一个 NSToolbarItem,该 NSToolbarItem 具有在 xib 文件中定义的自定义视图。如果我为视图选中“将蒙版转换为约束”,那么它不会正确调整自身大小,因此即使我将其压缩阻力优先级设置为 750,它的内容也会被压缩。另一方面,如果我取消选中它,那么我会得到运行时出现“检测到缺失的约束”错误。此外,我的视图内容随后会正确调整自身大小,但最终会像这样被剪裁:

所以看起来工具栏将我的视图粘贴到容器视图中,为了获得正确的行为,我应该设置布局约束以允许我的视图正确定位自身。但是,我看不到如何访问该容器视图...知道我做错了什么吗?

我可能遗漏了一些明显的东西,因为有人会认为这是一种非常标准的设置,但 Google 并没有提出任何建议。

【问题讨论】:

    标签: cocoa autolayout nstoolbar


    【解决方案1】:

    为了回答我自己的问题,我向 Apple 提出了一个支持请求,其结果是 Apple 现在将其视为错误。

    如果其他人遇到这种情况,一个好的解决方法是创建一个中间视图,其中包含工具栏视图作为具有约束@"H:|[toolbarView]"@"V:|[toolbarView]" 的子视图,具有translatesAutoresizingMaskIntoConstraints=YES 并使用此视图作为工具栏物品。然后它就足以监听toolbarView 的大小变化通知,并相应地调整其父视图的大小。

    【讨论】:

      猜你喜欢
      • 2023-03-26
      • 2013-08-16
      • 2015-11-28
      • 2015-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多