在xib bug

时间:2016-09-22 13:20:28

标签: ios objective-c uitableview xib

我正在从xib加载单元格。但随后表视图控制器打开单元格为白色。只有点击单元格后才能显示实验和其他内容。

Like this

 - (void)viewDidLoad {
    [super viewDidLoad];

    self.tableView.delegate = self;
    self.tableView.dataSource = self;

    [self.tableView registerNib:[UINib nibWithNibName:@"FixedCell" bundle:nil] forCellReuseIdentifier:@"FixedCell"];
    }

    //cellForRow......
    if(indexPath.section==1){
        if(indexPath.row==0){
        FixedCell *cell = [tableView dequeueReusableCellWithIdentifier:@"FixedCell"];
        return cell;
       }
   }

任何人都能找到它,这里有什么问题?

3 个答案:

答案 0 :(得分:0)

目标C

尝试这个...

var cell: FixedCell! = tableView.dequeueReusableCellWithIdentifier("FixedCell", forIndexPath: indexPath) as! HistoryTableViewCell

if (cell == nil) {
    cell = FixedCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "FixedCell")
}

<强> 夫特:

{{1}}

答案 1 :(得分:0)

使用此代码可能有所帮助......

-(void)tableView:(UITableView *) willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{

    FixedCell *newCell = (FixedCell *)cell;
    [newCell layoutIfNeeded];


}

答案 2 :(得分:0)

而不是在UINib内加载UITableView,只需将其加载到viewDidLoad方法中。

使用此方法

UINib *nib = [UINib nibWithNibName:@"FixedCell" bundle:nil];
[self.tablView registerNib:nib forCellReuseIdentifier:@"FixedCell"];