对你们所有人来说,这似乎是一个重复的问题,但是我已经阅读了所有主题,但是还没有找到答案,所以我决定发布一个新问题。

我正在使用UITableViewCellStyleSubtitle的默认实现,但是除非每次创建一个新单元格,否则都不会显示detailTextLabel

这是代码

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.

    [tblvUsersList registerClass:[UITableViewCell class] forCellReuseIdentifier:@"Cell"];
}

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return (self.registeredUser && self.registeredUser.count > 0)?self.registeredUser.count:0;
}

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

    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }
    if (self.registeredUser.count > indexPath.row) {

        AppDelegate* appDelegate = [[UIApplication sharedApplication] delegate];

        if (self.currentViewType == ViewTypeUsers) {
            UserModal* user = [self.registeredUser objectAtIndex:indexPath.row];
            cell.textLabel.text = user.userName;
            cell.detailTextLabel.text = user.email;
           // NSLog(@"Detail Text is %@",cell.detailTextLabel.text);
          //Console Prints Null here
    }

    return cell;
}

最佳答案

尝试改变线

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];




UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

关于ios - 默认实现中缺少UITableViewCell detailTextLabel,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24904355/

10-11 15:37