2014-05-14 109 views
3

我正在開發iOS應用程序,並且我有一個包含子視圖的視圖,並且我想在任何子視圖設置爲隱。當其任何子視圖設置爲隱藏時通知超級視圖

有人能指引我走向正確的方向嗎?

+0

如何將子視圖設置爲隱藏? – trojanfoe

+0

viewToHide.hidden = YES; –

+0

參見網址: 有人已經回答 http://stackoverflow.com/questions/17033581/ios-uiview-detect-hidden-state-change-in-subview –

回答

3

好了,假設你實現在上海華的方法稱爲subview:(UIView *)view wasHidden:(BOOL)hidden那麼你就需要設置viewToHide.hidden後調用它:

viewToHide.hidden = YES; 
if ([[viewToHide superview] respondsToSelector:@selector(subview:wasHidden:)]) { 
    [[viewToHide superview] subview:viewToHide wasHidden:YES]; 
} 

有點粗糙,但我相信它會工作。一個更好的解決辦法可能是讓上海華做隱藏自身,通過像(自定義)方法:

- (void)hideSubview:(UIView *)subview; 
- (void)unhideSubview:(UIView *)subview; 

,然後它可以做什麼之後(UN)的藏身喜歡。

更好的是might be to use KVO,因爲已被標記爲重複。

+0

感謝您的回覆。 它會工作,但我想通過觀察隱藏財產的變化來做到這一點。 –

+2

@poyofever。是的,這很公平。你需要的答案已經在這個頁面上的幾個地方被鏈接了。 – trojanfoe

相關問題