2012-05-05 1 views
0

Я программирую приложение, содержащее RSS-ридер. Rss-ридер загружает заголовок, описание и изображение. Изображение, которое я разместил в списке аксессуаров в той же ячейке, что и описание. Описание помещается в текстовую метку и идеально изменяет размер изображения. Но я хотел бы, чтобы изображение отображалось слева. Но когда я удаляю изображения из списка аксессуаров и перемещаю их на изображение с левой стороны, Textlabel не изменяет размер.Как изменить размер текстовой метки в ячейке tableview

Как изменить размер текстовой метки.

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, но это не сработает.

Надеюсь, что некоторые из вас могут подтолкнуть меня в правильном направлении.

Заранее спасибо

ответ

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

+0

Как я затем реализовать это в моем Tableview? –

+0

В классе, который у вас есть tableview: 1. Импортируйте файл заголовка: #import «MyCustomerCell.h». 2. В любом месте, где вы определяете использование ячейки: MyCustomerCell * cell = ... вместо обычного UITableViewCell * cell = ... – user523234

+0

Спасибо, помощник - это точная забота о моей проблеме :) –