0

我有一个带有多个选项卡的 NSTabView,每个选项卡都包含一个 NSScrollView。在 scollviews 中,我动态放置使用自动布局和约束调整大小的自定义视图。

现在,如果我将自定义视图添加到例如。tab1 并在此选项卡处于活动状态时调整窗口大小一切正常,自动布局不会抱怨。

另一方面,如果我将自定义视图添加到 tab1,切换到另一个选项卡,调整窗口大小,然后切换回 tab1 自动布局中断并显示以下消息:

Unable to simultaneously satisfy constraints:
(
    "<NSAutoresizingMaskLayoutConstraint:0x4011d8f60 h=-&- v=-&- H:|-(0)-[FlippedDocumentView:0x4011b76e0]   (Names: '|':NSClipView:0x40120eb80 )>",
    "<NSLayoutConstraint:0x4012a5c80 H:|-(10)-[TextViewModuleView:0x401236e80]   (Names: '|':FlippedDocumentView:0x4011b76e0 )>",
    "<NSLayoutConstraint:0x4011148e0 H:[TextViewModuleView:0x401236e80]-(10)-|   (Names: '|':FlippedDocumentView:0x4011b76e0 )>",
    "<NSAutoresizingMaskLayoutConstraint:0x4011d8f00 h=-&- v=-&- H:[FlippedDocumentView:0x4011b76e0]-(0)-|   (Names: '|':NSClipView:0x40120eb80 )>",
    "<NSAutoresizingMaskLayoutConstraint:0x4011d5e00 h=--& v=--& H:[NSClipView:0x40120eb80(0)]>"
)

我的问题是,为什么自动布局对活动选项卡工作正常而对非活动选项卡工作?


更新:我很确定这是一个错误。我只在自动布局模式下使用 IB 制作了最简单的程序(根本没有代码):

  • 我拖动一个选项卡视图(它会自动获得前导、尾随、顶部和底部约束)

  • 在其中一个选项卡上我拖动滚动视图(它会自动获得前导、尾随、顶部和底部约束)

  • 在滚动视图上我拖动一个文本字段(它有一些自动约束),但我设置了前导、尾随、顶部和底部约束,以允许使用窗口调整文本字段的大小

因此,现在选择带有滚动视图的选项卡=>文本字段时,我可以调整窗口大小 - 没有问题。但是,当我激活另一个选项卡时,调整窗口大小,然后使用滚动视图激活我的选项卡 - 自动布局抱怨与我之前报告的类似消息。事实上,如果只设置前导和尾随约束,也会发生同样的情况。

任何人都可以尝试复制它吗?

4

1 回答 1

1

好的,看来切换到 OSX10.8.3 和最新的 XCode 解决了主要问题。

于 2013-05-11T15:48:35.130 回答