Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios5 使用情节提要时在非自定义原型UITableViewCell中显示detailTextLabel_Ios5_Uitableview_Storyboard - Fatal编程技术网

Ios5 使用情节提要时在非自定义原型UITableViewCell中显示detailTextLabel

Ios5 使用情节提要时在非自定义原型UITableViewCell中显示detailTextLabel,ios5,uitableview,storyboard,Ios5,Uitableview,Storyboard,我希望这些是我问题的充分答案: 等等 不幸的是,要么我头脑太笨,无法在这些评论中看到我的解决方案,要么他们没有解决我的问题 我很固执,因为我相信我应该能够在不创建自定义UITableViewCell的情况下显示详细文本标签,同时通过故事板创建界面。默认的情节提要原型单元没有样式选项。同样,在我的代码中,除了这里,我实际上没有在哪里分配这个单元格;因此,我假设它最初是在故事板中分配给不使用细节文本标签的默认样式的 使用以下代码填充单元格时,不会显示我的detailTextLabel: -

我希望这些是我问题的充分答案:

  • 等等
不幸的是,要么我头脑太笨,无法在这些评论中看到我的解决方案,要么他们没有解决我的问题

我很固执,因为我相信我应该能够在不创建自定义UITableViewCell的情况下显示详细文本标签,同时通过故事板创建界面。默认的情节提要原型单元没有样式选项。同样,在我的代码中,除了这里,我实际上没有在哪里分配这个单元格;因此,我假设它最初是在故事板中分配给不使用细节文本标签的默认样式的

使用以下代码填充单元格时,不会显示我的detailTextLabel:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        NSLog(@"This is never called!");
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];

    }

    // Configure the cell...
    switch(indexPath.section) {
        case 0: // boring cell
            cell.textLabel.text = [NSString stringWithFormat:@"Default label"];
            cell.textLabel.textAlignment = UITextAlignmentCenter;
            break;

        case 1: // loading cells based on contents of core data
            {           
            // get some data from previously retrieved core data objects
            NSManagedObject *rowObj = [myObjects objectAtIndex:[indexPath row]];
            NSDate *someDate = (NSDate*)[rowObj valueForKey:@"timeStarted"];
            NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
            [formatter setTimeStyle:NSDateFormatterNoStyle];
            [formatter setDateStyle:NSDateFormatterMediumStyle];
            NSString *stringFromDate = [formatter stringFromDate: someDate];

            // we have the fields ready; populate the cell
            NSLog(@"This prints a valid date:%@", stringFromDate);

            // this, also, displays just fine
            cell.textLabel.text = [NSString stringWithFormat:@"Default text"];

            // this does not appear
            cell.detailTextLabel.text = stringFromDate;
    break;
        }           
        default:
            break;
    }
    return cell;
}
如果在其他地方已经解决了这一问题,并且缺少我的搜索fu,或者如果有关于UITableViewCells和与详细文本标签单元格样式相关的故事板的讨论,但我在搜索中没有看到它们,我提前表示歉意

具体来说,我需要在代码中更改什么,才能将样式设置为使用细节文本标签,同时仍然使用非自定义原型UITableViewCells并保持故事板的完整性

最后,这可能是完全不相关的(如果是,请忽略),如果我生成了许多行,这样我就可以向下滚动我的表,我的所有行都会显示良好,除了少数行(取决于我滚动的速度)与其他行(文本对齐)不同之外。也就是说,据我所知,我看到新的单元被分配/初始化,而没有我在故事板中指定的相同默认设置。注意,下面的initWithStyle代码仍然没有被调用。如果我理解正确,那么在创建新单元的幕后正在发生一些事情,我想知道在哪里可以设置样式首选项。但同样,如果这是一个不相关问题的症状,请忽略,如果它持续存在,我可以发布另一个问题


很抱歉,这是一堵文字墙。

我找到了最重要问题的解决方案;我认为,我问题的最后一段是一个无关的问题


使用故事板时,不要将标识符设置为代码中使用的相同标识符;您不打算使用故事板中使用的默认单元格类型。通过共享同一标签,故事板的已标识单元的属性优先,如下所示

我找到了最重要问题的解决方案;我认为,我问题的最后一段是一个无关的问题

使用故事板时,不要将标识符设置为代码中使用的相同标识符;您不打算使用故事板中使用的默认单元格类型。通过共享同一标签,故事板的已标识单元的属性优先,如下所示