[英]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.