NSTabView中的窗口调整大小和非活动选项卡的视图更新

问题描述 投票:0回答:1

我有一个带有多个选项卡的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制作了最简单的程序(完全没有代码):

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

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

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

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

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

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

cocoa resize window autolayout nstabview
1个回答
1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.