initWithStyle上的UITableViewCell宽度:reuseIdentifier:

时间:2012-01-21 18:04:17

标签: ios uitableview

我创建了一个包含2个标签的自定义UITableViewCell。一个应该有一个固定的宽度,而另一个应该向右扩展,只要有空间。

我正在创建像这样的UILabel:

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
        codeLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 60, 20)]; 
        [self.contentView addSubview:codeLabel];
        [codeLabel release];

        nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(76, 4, self.frame.size.width - 100, 34)];
        [self.contentView addSubview:nameLabel];
        [nameLabel release]; 
    }

    return self;
}

问题是,此时,self.frame.size.width始终返回320.0,因此UILabels的大小不正确。我怎样才能克服这个问题?

1 个答案:

答案 0 :(得分:1)

将第二个标签的autoresizingMask设置为UIViewAutoresizingFlexibleWidth

如果您的需求变得比autoresizingMask更复杂,则表示您需要实施自己的layoutSubviews