2015-04-04 43 views
2

在NSView中,我有一个容器视图和两个NSButton(请参见图片)。 NSButton更改了容器视图中的内容。要显示视图,并隐藏了另外一个,我这样做:如何在XCode中停用或隐藏视图?

@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; } 
    } 
} 

它可以正常工作,但由于在意见有很多画(字段,按钮和图像),从一个视图到另一个开关有点(很少)慢。我怀疑这种方法是不正确的。

如何以适当的方式从视图切换到另一个视图?

image

回答

2

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

您也可以从视图层次结构(removeFromSuperview())中删除一个视图,以便有效隐藏它。确保代码中的某些内容对视图保持强有力的引用。视图控制器,所以这大概足够好(假设你也有一个强大的视图控制器的参考)。

而且,是的,把意见放在NSTabView和切换他们也工作(基本上通过使用上述技术之一)。

2

我不知道,如果它的速度更快,但它肯定使用tabless NSTabView更方便。这样,您就可以在没有混淆似乎重叠的意见的情况下,在笔尖设置视图。

相关问题