开发者

can't see when using UINib

been confused about this for over two hours, so maybe someone can point me at the right direction...

i have a navigation bar with a tableViewController under it. once the first row is selected i am pushing a new tableViewController that loads up custom table cells with the new and shiny UINib object.

cellForRowAtIndexPath is called and i allocated a new row, set up the values of it's two UILabel correctly, and return the cell.

however - the table view is completely empty. if i replace the custom cell with a regular table cell, i see the cell. what the hell is going on here?

some code:

in viewdidLoad:

self.cellNib = [UINib nibWithNibName:@"DetailCell" bundle:nil];

in cellForRowAtIndexPath:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"detailCell";


    DetailCell* cell = (DetailCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) 
    {        
        [self.cellNib instantiateWithOwner:self options:nil];
        cell = tmpCell;
        self.tmpCell = nil;
    }

    cell.fieldName.text = @"field title";
    cell.fieldValue.text = @"field value";

    return cell;
}

and the custom cell (that has a xib file associated with it as well):

@interface DetailCell : UITableViewCell {

    IBOutlet UILabel* fieldName;
    IBOutlet UILabel* fieldValue;
}

@property (nonatomic, retain) IBOutlet UILabel*开发者_开发技巧 fieldName;
@property (nonatomic, retain) IBOutlet UILabel* fieldValue;

@end

thanks for your help.


for anyone following this thread, i found the issue to be with a missing cell identifier. the value you define at rowAtIndex needs to be entered using IB for the xib file. there is an identifier field.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜