我无法在视图中加载我的所有文字

时间:2011-11-24 14:41:06

标签: iphone objective-c ios5 detailsview

在我的应用程序中,我的文本较长,视图很少。 在我的详细视图中,我已经从数据库中导入了文本,并且对于一些简短的文本它可以工作但是更长时间它会让我产生问当我使用较小的字体时,它会向我显示所有文本,因此它会从数据库中加载它,但会产生一些其他问题。 我对该部分的代码是:

case RestaurantItemTypeDescription : {
            cell = [tableView dequeueReusableCellWithIdentifier:@"Restaurant Description"];
            if (cell == nil) {
                cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Restaurant Description"];
            }
            cell.imageView.image = nil;

            cell.selectionStyle = UITableViewCellSelectionStyleNone;

            CGRect rectLabel = CGRectMake(cell.frame.origin.x+20, cell.frame.origin.y+10, cell.frame.size.width-20, cell.frame.size.height-20);
            UILabel* label = [[UILabel alloc] initWithFrame:rectLabel];

            label.lineBreakMode = UILineBreakModeWordWrap;
            label.numberOfLines = 0;
            label.font = [UIFont fontWithName:@"Helvetica" size:13.0]; //Same font used for calculating height
            label.text = item.itemText;
            label.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
            [cell addSubview:label];
//          [label release];
            //NSLog(@"description=%@", item.itemText);
            cell.accessoryType = UITableViewCellAccessoryNone;
            break;
        }

我有自动调整属性,但它接缝它不起作用。

有人可以告诉我该怎么做?我正在网上搜索它看起来对视图中文本的大小没有限制。 感谢...

2 个答案:

答案 0 :(得分:2)

您需要调整标签的高度和单元格的高度以考虑较长的文本。

关于如何做到这一点有一个不错的指南here

答案 1 :(得分:2)

Autoresize属性仅用于在视图大小更改时调整大小,例如方向从纵向更改为横向或调用setFrame时:

您需要调整UILabel的大小以使标签足够大以显示所有文本。要做到这一点,你必须计算UILabel必须有多大。 This question涵盖了执行此操作的各种选项。