2016-10-01 49 views
1

我想隱藏非子在UIView但我不知道該怎麼做。我有UITableView。每個UITableViewCell都有另一個視圖(稱爲wrapperView的包裝視圖)。包裝器在IB中設置了一些標籤,並且一些以編程方式創建。我創建了一個自定義幻燈片機制,它揭示了包裝下的按鈕(就像標準的那樣)。在UIView中隱藏非子UIView

以編程方式創建的標籤不會超過包裝的邊界,因爲它會剪裁子視圖。問題在於IB中創建的標籤。他們是contentView的子視圖。

這怎麼解決?有沒有辦法讓UIView剪輯同一級別的其他視圖(而不是父母或子女)?或者將標籤「轉移」到包裝視圖?

+0

「有沒有辦法讓UIView剪輯同級視圖」#編號更好地組織您的視圖,所以它可以按照您的需要進行操作。關於「以編程方式創建的標籤」,我認爲你的問題非常簡單 - 你應該讓它們成爲其他UIView的孩子 - 就這麼簡單。 – Fattie

回答

2

這並不完全清楚你在問什麼。一個視圖只會剪輯它的子視圖,而不是恰好落在它們的框架矩形內但不是子視圖的視圖。

如果要將視圖對象從一個視圖層次結構移動到另一個視圖層次結構,則可以使用addSubview(_:)來完成此操作。這會自動將其從當前父視圖中移除。引用Apple文檔:

視圖只能有一個超級視圖。如果視圖已經有超級視圖並且該視圖不是接收者,則在使接收者成爲新的超級視圖之前,該方法移除先前的超級視圖。

+0

我的猜測是OP根本無法理解,當您以「編程方式」製作視圖時,您當然可以設置該新視圖的父視圖,超視圖。 – Fattie

+0

我非常清楚這些概念,我知道一個視圖會剪裁它的子視圖。我想要一種方法來剪輯其他視圖,而不是它的子視圖。謝謝你的回答,鄧肯!它完美的作品。 – Lawrence413