我无法设置UITableViewCell的UITextLabel的帧。我创建了一个CGRect并将其设置为框架,但这似乎不起作用。在下面的代码中设置的UITextLabel的所有其他属性(颜色字体和文本)将根据需要进行渲染。
UITableViewCell *c = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
if(!c)
{
c = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
}
NSString *soundName = [[soundNames objectAtIndex:[indexPath row]] valueForKey:@"Name"];
UIColor *whiteColor = [UIColor whiteColor];
[[c textLabel] setTextColor:whiteColor];
[[c textLabel] setText:soundName];
[[c textLabel] setFont:[UIFont fontWithName:@"Gill Sans" size:17]];
CGRect textLabelFrame = CGRectMake(50, 7, 270, 29);
[[c textLabel] setFrame:textLabelFrame];
return c;
关于可能会发生什么的任何想法?
答案 0 :(得分:0)
每次显示单元格时textLabel
方法都会更改layoutSubviews
的框架。您可以覆盖layoutSubviews
方法并在那里设置自定义框架,或者只是将自己的UILabel
预定义框架添加到单元格中。