2012-02-09 81 views
17

這可能是一個愚蠢的問題,但我似乎無法弄清楚。在IB中,如果我有兩個UIViews,它們是主要UIViewController.view的子視圖,我基本上根據用戶的輸入顯示和隱藏,有沒有辦法在IB中工作時隱藏其中一個視圖。所有的文字/按鈕都在彼此之上,所以我無法真正知道發生了什麼。有沒有辦法讓我在處理其他視圖時隱藏視圖及其所有子項?謝謝。當有多個視圖時隱藏界面構建器中的視圖

+0

你是什麼意思下的「隱藏」?你在談論imageViews與圖像或什麼?可能是你添加了一個屏幕截圖? – Stas 2012-02-09 17:22:28

+0

@Stas因爲我有兩個UIViews,它們都是主視圖的子類,如果每個UIView都在同一位置有一個標籤,則這些標籤是彼此重疊的。我希望能夠「禁用」或「隱藏」第一個UIView及其所有子項,這樣我就可以使用第二個UIView並查看沒有第一個UIView阻塞的情況。 – Crystal 2012-02-09 17:49:15

+0

我提出了一個簡單的替代方法,它也是hacky,但不需要更改佈局,在這裏:http://stackoverflow.com/questions/22264235/why-does-interface-builder-show-hidden-views-通過意見上面他們?answertab =票#tab-top – Sean 2015-12-28 03:30:42

回答

16

我建議你暫時在UIViewController.view之外拖動其中一個視圖,同時在IB中做所有事情,然後在完成後將其拖回去。

+31

這是有點令人沮喪,這是最好的答案!即使只是一個顯示/隱藏層的東西,像Photoshop圖層面板也會很方便。 – Marcin 2012-07-10 00:34:05

+0

與雅,馬辛。這將非常有用。謝謝yuji。 – 2013-02-08 15:51:53

+6

當你有限制被重置時,有點難過。 – 2014-05-13 06:34:56

3

如果有人回到這個問題:在最新的XCode中,您可以打開助手編輯器和預覽,看看在預覽xib時發生了什麼(例如,當您隱藏視圖時)。

編輯:似乎不再在XCode 8中工作了。

+0

即使預覽不關心視圖是否隱藏。它總是顯示它。愚蠢的界面生成器。(Xcode 8) – Jonny 2016-11-22 02:44:07

+0

哦。你是對的。他們似乎已經改變了它。它有什麼意義?奇怪:/ – 2016-11-23 12:09:53

2

另一種解決方案,提供您的意見是不透明:在IB的文檔大綱,只需點擊並拖動你希望看到的,所以它列出的視圖上面你希望看到的視圖。將它留在那裏直到完成工作,然後記住在測試之前將其拖回。

這也有不會破壞或改變任何現有的自動佈局約束的副作用。

0

選擇您暫時不想編輯的視圖,並在檢查器面板中選擇屬性檢查器,取消選擇已安裝的,當您完成修改,點擊安裝回來。 與你的約束。