2010-07-20 26 views
1

我有一個iPhone應用程序包含UITableView分組樣式。 在我的ViewController定義的UIActivityIndi​​catorView作爲一個屬性:UIAableView部分標題中的UIActivityIndi​​catorView消失方向更改

self.browsingIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhite]; 
browsingIndicator.hidesWhenStopped = YES; 

我希望把這個微調的表格標題行之一:

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { 
    UIView *sectionHeader = [[[UIView alloc] init] autorelease]; 
    [sectionHeader addSubview:browsingIndicator]; 
    browsingIndicator.center = CGPointMake(20, 30); 

    return sectionHeader; 
} 

這是工作。現在的問題是:一旦我改變設備的方向,活動指示燈就會消失,只有當我將其從可見屏幕拖出並重新進入時纔會再次出現。將設備轉回到原來的方向並沒有幫助,將「hidesWhenStopped」更改爲「NO都不是。

有人能指出我正確的方向嗎?謝謝!

回答

1

感謝您的回答邁克,但我不認爲就是這樣。 UIActivityIndi​​catorView被正確定位和調整大小,但未繪製。當我強制重新繪製sectionHeader(通過將它滾動到視圖外)時,它即使在橫向方向上也會在正確的位置旋轉。

我試圖明確設置autoResizingMask,但沒有改變1消失。

編輯:無法對你的解答發表評論,我並沒有真正得到這個職位/評論沒有這裏登記的事情,抱歉: -/

EDIT2:

[sectionHeader addSubview:browsingIndicator]; 

似乎是部分的問題。如果我直接返回browseIndicator,它正在工作。

現在解決的類型: 如果我在viewForHeaderInSection方法之外爲節標題定義了UIView,然後只是返回它,它就可以工作。

+0

這是因爲您正在自動釋放標題,這意味着它可能會在將來發布一段時間。當你說「在...之外定義uiview」時,這是有效的,因爲你將它保留在某個地方,所以它不會被釋放。 – user102008 2011-04-28 04:31:14

+0

Woah ...你和OP都有相同的Identicon O.o – 2016-05-17 20:16:02

相關問題