原型单元格不会显示内容
Posted
技术标签:
【中文标题】原型单元格不会显示内容【英文标题】:Prototype cell won't show content 【发布时间】:2014-08-05 12:51:33 【问题描述】:我在情节提要中设计了一个单元格,然后创建了一个自定义 UITableViewCell 子类(BasicCell)并将其分配给它。还要设置正确的标识符。我在该类中创建了自定义单元的出口。然后在我的 UITableViewController 子类(我有两种类型的原型单元格)中,单元格内容不会显示。我做错了什么?
BasicCell.h
@interface BasicCell : UITableViewCell
@property (strong, nonatomic) IBOutlet UILabel *scorevalue;
@property (strong, nonatomic) IBOutlet UILabel *avgvalue;
@property (strong, nonatomic) IBOutlet UILabel *rankvalue;
@property (strong, nonatomic) IBOutlet UILabel *scorelabel;
@property (strong, nonatomic) IBOutlet UILabel *categorylabel;
@property (strong, nonatomic) IBOutlet UILabel *ranklabel;
@end
TableViewController.m
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
static NSString *CellIdentifierBasic = @"basic";
static NSString *CellIdentifierDetailed = @"detailed";
UITableViewCell *cell;
if(indexPath.row==0)
// Create first cell
cell = [[BasicCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifierBasic];
else
// Create all others
cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifierDetailed forIndexPath:indexPath];
// Configure the cell...
switch ([indexPath row])
case 0:
BasicCell *basicCell = (BasicCell *)cell;
basicCell.scorelabel.text = @"test";
basicCell.categorylabel.text = @"test";
basicCell.ranklabel.text = @"test";
basicCell.scorevalue.text = @"test";
basicCell.avgvalue.text = @"test";
basicCell.rankvalue.text = @"test";
【问题讨论】:
【参考方案1】:在你的故事板中,
-
创建两个原型单元。
更改您的原型单元的自定义类之一。设置为
BasicCell
。
确保为每种类型的单元格设置适当的单元格标识符。
如果它是 indexPath.row == 0 而是 dequeue 具有适当的标识符,则不要 alloc init。
它应该工作。
注意:您应该将您的 IBOutlets 声明为弱而不是强。细胞的观点已经对他们有很强的指向性。您不必拥有它们。
【讨论】:
4.是问题所在。谢谢以上是关于原型单元格不会显示内容的主要内容,如果未能解决你的问题,请参考以下文章