2012-01-13 68 views
0

我想改变UITableViewCell的宽度。iphone - 改变UITableViewCell的宽度

我已经尝试了一切。现在我想改就

-

(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    // trying everything... 
    CGRect bounds = cell.contentView.bounds; 
    bounds.size.width = bounds.size.width * 0.8f; 
    cell.contentView.bounds = bounds; 
    cell.backgroundView.bounds = bounds; 
    cell.selectedBackgroundView.bounds = bounds; 
    cell.bounds = bounds; 

} 

变化都没有。有什么想法吗?谢谢

注:我需要表宽度不变,因为这张表有一个必须保持填充所有宽度的背景图像。

+0

尝试设置它的框架,而不是边界 – 2012-01-13 08:30:28

+0

变化都没有。不管怎么说,还是要谢谢你。 – SpaceDog 2012-01-13 09:17:49

回答

2

尽量让自己CustomCell类

,你可以在你的左右帧大小,里面的内容或其他东西约UIView的组件,例如一个UILabel,UIImage的,等用途定制..

再取为UITableView的细胞的方法cellForRowAtIndexPath:

您CustomCell类希望它可以帮助你

+0

我试过了,但仍然存在没办法设置单元格的宽度。唯一的方法是使用 - (id)initWithFrame:(CGRect)frame reuseIdentifier:(NSString *)reuseIdentifier ,但苹果已弃用,其他方法将落入我现在所面临的相同问题。不管怎么说,还是要谢谢你。 – SpaceDog 2012-01-13 09:13:53

+0

只是为了补充。我正在编程,因为我从不使用界面构建器。我讨厌它。 – SpaceDog 2012-01-13 09:17:14

+0

@DigitalRobot我可以问问题。例如:你想使单元格宽度为150px,你的UItableview宽度为320px,对不对?所以,你应该在customCell Layout中制作自定义的UIView。看起来你的单元格宽度为150px,对吧?并使用其他技术来隐藏特定UIView内部的任何不必要的布局。对不起我的英文,如果它让你难以理解。 – Sakares 2012-01-13 09:20:18

1

可能是cell.autoresizingMask = UIViewAutoresizingNone;会帮到您吗?

+0

nope。细胞继续傲慢地藐视任何尝试改变它的大小......:/ – SpaceDog 2012-01-13 09:15:26

+0

你还有一个变种:在细胞上添加子视图并捕获所有触摸事件并调用-tableView:didSelectRowAtIndexPath: – OdNairy 2012-01-13 09:17:11