我编写了一个UITableViewcell的子类,它由各种UILabel组成,我已经定义了UIlabel的样式
- (id)initWithStyle:(UITableViewCellStyle)样式reuseIdentifier:(NSString *)reuseIdentifier
和
中标签的框架矩形
- (无效)layoutSubviews
现在在为UILabels定义静态rect之后,我想修改UILabels的rect,并编写一个函数来修改框架标签,但调用此函数不会修改UILabels的框架。如果有人知道如何实现标签的动态框架,请分享。
答案 0 :(得分:0)
我通常通过实现自定义tableviewcell并在子视图中实现我自己的drawRect方法来指定标签的大小,如下所示:
@implementation CompositeSubviewBasedRestaurantCellContentView
- (id)initWithFrame:(CGRect)frame cell:(RestaurantCell *)cell
{
if (self = [super initWithFrame:frame]) {
_cell = cell;
self.opaque = YES;
self.backgroundColor = _cell.backgroundColor;
}
return self;
}
- (void)drawRect:(CGRect)rect
{
_highlighted ? [[UIColor whiteColor] set] : [[UIColor blackColor] set];
[_cell.name drawAtPoint:CGPointMake(11.0, 22.0) withFont:[UIFont boldSystemFontOfSize:17.0]];
}
我认为Apple的例子非常好,例如Table View Suite: