我怎样才能调整cell.textLabel的大小?

时间:2011-09-26 07:40:51

标签: iphone objective-c ios ipad uitableview

我想调整UITableViewCell的默认textLabel,因为我在行的右侧显示了一个图像。我尝试使用此代码,但它不起作用,我不明白为什么。

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
         //...
         cell.textLabel.frame = CGRectMake(5, 5, 100, 50);
         //...
    }

4 个答案:

答案 0 :(得分:3)

你应该使用自定义标签

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];

if (cell == nil) 
{

    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:MyIdentifier] autorelease];

    UILabel *Lbl = [[UILabel alloc]initWithFrame:CGRectMake(75.0f, 4.5f, 360.0f, 20.0f)]; 
    [cell.contentView addSubview:Lbl];
    [Lbl release];
}

答案 1 :(得分:2)

我认为这是不可能的。

制作自定义单元格。

UILabel myTextLabel;

//Set Frame and do something.

[cell.contentView addSubview:myTextLabel]; 

答案 2 :(得分:1)

textLabel是readonly属性,因此我们无法设置框架..

@property(nonatomic,readonly,retain) UILabel      *textLabel __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);   // default is nil.  label will be created if necessary.
@property(nonatomic,readonly,retain) UILabel      *detailTextLabel __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_3_0);   // default is nil.  label will be created if necessary (and the current style supports a detail label).

使用自定义单元格...

答案 3 :(得分:0)

您无法更改单元格的textLabel框架except,或者您使用自定义单元格并使用UILabel,UIImageView作为单元格的子视图。