2015-04-04 47 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更方便。這樣,您就可以在沒有混淆似乎重疊的意見的情況下,在筆尖設置視圖。

相關問題