DaffodilGirl
2013-08-12 09:14
采纳率: 78.1%
浏览 6.7k
已采纳

修改 Cell.TextLabel 宽度

我要修改textlabel的cell宽度。因为它和我的按钮重叠了/

代码如下,但是这样删除了cell分割线:

@interface CustomTableViewCell : UITableViewCell
@end

@implementation CustomTableViewCell

- (void)layoutSubviews
{
    CGRect textLabelFrame = self.textLabel.frame;

    textLabelFrame.size.width=250.0f;
    self.textLabel.frame = textLabelFrame;
}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • ReyZhang 2013-08-13 00:41
    已采纳

    既然使用了自定义的uitableviewcell就不如自己添加一个uilabel控件到cell上,这样做的好处是你可以对个uilabel进行自由的设置,如控制宽度,以避免被另外的按钮遮住。

    @property (nonatomic,strong) NSString *title
    - (void)layoutSubviews
    {
        UILabel *lblTitle=[[UILabel alloc] initWithFrame:CGRectMake(0, 0, 0, 0)];
        [lblTitle setTextColor:[UIColor blackColor]];
        [lblTitle setFont:[UIFont fontWithName:DEFAULTFONTNAME size:13]];
        [lblTitle setNumberOfLines:0];
        [lblTitle setLineBreakMode:UILineBreakModeWordWrap];
        [lblTitle setText:_title];
        [lblTitle setBackgroundColor:[UIColor clearColor]];
    
        CGSize lblSize=[lblTitle.text sizeWithFont:lblTitle.font constrainedToSize:CGSizeMake(self.bounds.size.width-30, 250) lineBreakMode:UILineBreakModeWordWrap];
    
        [lblTitle setFrame:CGRectMake(5,(self.bounds.size.height-lblSize.height)/2, lblSize.width,lblSize.height)];
    
        [self addSubview:lblTitle];
    }
    
    点赞 打赏 评论

相关推荐 更多相似问题