如何在tableview单元格中调整textlabel的大小

时间:2012-05-05 16:53:06

标签: ios imageview tableview cell textlabel

我正在编写一个包含RSS阅读器的应用程序。 rss阅读器正在下载标题,描述和图像。我在附件视图中放置的图像与描述相同。描述放在文本标签中,并完美地调整图像大小。但我希望图像显示在左侧。但是当我从附件视图中删除图像并将其移动到左侧的图像时,T​​extlabel不会调整大小。

如何调整文本标签的大小。

CGRect f = cell.textLabel.frame;
[cell.textLabel setFrame: CGRectMake(f.origin.x-20, f.origin.y, f.size.width-50, f.size.height)];

cell.textLabel.font = [UIFont systemFontOfSize:11];
cell.textLabel.numberOfLines =3;
cell.textLabel.textColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.7];
cell.backgroundColor = [UIColor clearColor];
cell.textLabel.backgroundColor = [UIColor clearColor];
cell.selectionStyle = UITableViewCellSelectionStyleNone;

我尝试使用setframe函数调整它的大小,但这不起作用。

希望你们中的一些人能够把我推向正确的方向。

提前致谢

1 个答案:

答案 0 :(得分:2)

您需要子类化UITableViewCell类。这是一个例子:

.h文件:

#import <UIKit/UIKit.h>

@interface MyCustomerCell : UITableViewCell

@end

.m文件:

#import "MyCustomerCell.h"

@implementation MyCustomerCell

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
    }
    return self;
}

- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
    [super setSelected:selected animated:animated];

    // Configure the view for the selected state
}

- (void)layoutSubviews {
    [super layoutSubviews];
    self.imageView.frame = CGRectMake(0,0,150,90);
    self.imageView.bounds = CGRectMake(0, 0, 150, 90);
    self.textLabel.frame = CGRectMake(250, 0, 200, 40);   //change this to your needed
    self.detailTextLabel.frame = CGRectMake(250, 40, 200, 40);
}

@end