2014-09-30 14 views
0

我有我的視圖控制器設置像這樣,我在廈門國際銀行的所有UIViews,如何使用連接爲IBOutlet的UIView作爲表視圖節標題?

@property (weak, nonatomic) IBOutlet UIView *tableHeader, *likesHeader, *commentsHeader, *followersHeader; 

當視圖加載,所有可見的部分標題出現正確,但只要我滾動它們就會消失。我使用委託方法來設置節標題。

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { 
    if (section == 0) { 
     return self.tableHeader; 
    } else if (section == 1) { 
     return self.likesHeader; 
    } else if (section == 2) { 
     return self.commentsHeader; 
    } else if (section == 3) { 
     return self.followersHeader; 
    } 
    return nil; 
} 

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { 
    if (section == 0) { 
     return 120.0; 
    } else { 
     return 35.0; 
    } 
} 

我怎麼搞砸了?

+0

我想了解更多關於「消失」的意思。他們是否現在開始,然後如果你滾動最微小的數量,他們都消失了嗎?或者你的意思是,如果他們從視圖中滾動出來,當你向後滾動時他們不會再出現?什麼是用例? – chriszumberge 2014-09-30 15:29:27

+0

檢查你的網點在'tableView:viewForHeaderInSection:'中是否成爲零。我懷疑你需要將它們從「弱」變成「強」。 – 2014-09-30 15:59:37

回答

1

您可能需要將您的網點從weak更改爲strong

由於您的標題視圖並非作爲超視圖的子視圖開始,所以沒有其他引用它們。所以你的弱點將成爲零,標題視圖將被釋放。

您可能會成功返回最初可見的標題,因爲nib加載器可能會將它們置於自動釋放池中,直到表視圖請求它們之後纔會排空。當標題離開屏幕時,表格視圖將釋放它們。由於沒有其他東西保留它們,它們被解除分配,系統將你的弱勢渠道設置爲零。

0

將聲明從weak更改爲strong

相關問題