簡體   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