繁体   English   中英

如何在 Xcode 中停用或隐藏视图?

[英]How to deactivate or hide a view in Xcode?

在 NSView 中,我有一个容器视图和两个 NSButton(见图)。 NSButton 更改容器视图中的内容。 为了显示一个视图并隐藏另一个视图,我这样做:

@IBAction func changeView(sender: NSButton)
{
    switch sender.id
    {
        case "Button 1" { view1.hidden = true; view2.hidden = false; }
        case "Button 2" { view1.hidden = false; view2.hidden = true; }
    }
}

它工作正常,但是因为在视图中有很多要绘制(字段、按钮和图像),从一个视图切换到另一个视图有点(非常少)慢。 而且我怀疑这种方法不是正确的方法。

我怎样才能以适当的方式从一个视图切换到另一个视图?

图片

我不确定它是否更快,但使用表NSTabView肯定更方便。 这样,您可以在笔尖中设置视图,而不会混淆似乎重叠的视图。

隐藏应该没问题。 您可能希望切换顺序,以便在将其他视图设置为隐藏之前始终将视图设置为隐藏。

您还可以从视图层次结构 ( removeFromSuperview() ) 中删除视图作为有效隐藏它的一种方式。 确保代码中的某些内容保持对视图的强引用。 视图控制器可以,所以这可能已经足够好了(假设您也有对视图控制器的强引用)。

而且,是的,将视图放在NSTabView并进行切换也可以(基本上通过使用上述技术之一)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM