2012-02-28 104 views
0

我有一個uiviewcontroller,它包含自定義控件;我需要監視它中的一個屬性,使其成爲顯示器控件屬性

如果它變爲true我隱藏導航欄中的後退按鈕,否則允許它。

適用於iOS和Objective C;如果是的話如何實現該功能

回答

0

這是可能的。

假設你的對象有一個名爲「boolValue」屬性:

[obj addObserver:self forKeyPath:@"boolValue" options:NSKeyValueObservingOptionNew context:NULL]; 



- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context 
{ 
    BOOL value=[object boolValue]; 
    if (value) 
    { 
    // hide back button 
    } 
    else 
    { 
    // show back button 
    } 
} 
+0

記住不是在需要的時候它來除去觀測了('viewDidUnload'?),否則你將[泄漏觀測信息(HTTP:/ /stackoverflow.com/questions/9488504/observation-info-was-leaked)。每當你這樣做,上帝就會殺死一隻小貓。 – ayoy 2012-02-28 23:50:21