簡體   English   中英

靜態tableview中的單元格內容未顯示

[英]Cell content in a static tableview not showing

我有一個常規的ViewController ,其中添加了一個tableView ,它占據了屏幕的一小部分(如下所示)。 因為我的tableView是靜態的,所以我沒有實現此處答案中所建議的任何Tableview數據源方法。 但是,我放到情節提要中的內容沒有顯示出來,我對其他可能發生的事情一無所知。

為了說明這一點,以下是我在情節提要中設置的內容:

在此處輸入圖片說明

但這是模擬器中顯示的內容:

在此處輸入圖片說明

我已經在viewDidLoad設置了self.tableview.delegate = self ,並且聲明了我的視圖控制器是<UITableViewDelegate> 但是,這些都沒有幫助。

靜態單元格僅適用於UITableViewControllers。 它們充當表視圖的數據源,並負責為它提供所有這些行,您可以很好地將其設置為Interface Buider。 我通常在這種情況下使用容器視圖。 它是一個視圖,在其中顯示另一個視圖控制器的視圖。 在您的情況下,此“另一個控制器”是UITableViewController或從其派生的那個。

在此處輸入圖片說明

您需要數據源,否則什么也不會顯示。

您需要實現3種方法才能正確使用UITableView,這些方法是

-(void)viewDidLoad {
self.dataArray = @[@"A Fish",@"A Cat",@"A dog"
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
       return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return dataArray.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"CellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

cell.title = dataArray.indexPath.row;

return cell;
}

在最后一種方法中,您可以看到一個單元標識符,它用於標識單元。

NSString *CellIdentifier = @"CellIdentifier";

在情節提要中,如果單擊單元格並在右欄中查看。 您需要填寫一個ID框,您需要確保這些ID相同,以便保持相同的樣式。

希望這可以幫助

ong

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM