ran*_*ows 2 iphone cocoa-touch uitableview uikit
我正在创建一个UITableViewCell类似于样式的自定义,UITableViewCellStyleValue1但右侧有一个可编辑的文本字段而不是detailTextLabel.我对如何正确调整编辑字段的大小感到困惑.我想考虑textLabel到帐户的长度,以及它的大小contentView,并且当它的表视图处于编辑模式时,或者如果添加了附件视图(如公开箭头)时,能够做正确的事.
但contentView即使对于分组表,宽度似乎总是320(在iPhone上以纵向模式).在我的UITableViewCell子类中,我看不到访问它所属的表视图的方法,因此我可以获得表的样式并相应地调整边距.
我想我可以在tableView的委托-tableView:willDisplayCell:forRowAtIndexPath:方法中以自定义方式处理这个问题,但这完全违背了拥有可重用单元类的目的.
我必须在这里遗漏一些关键概念,但我不知所措.任何人?
谢谢!兰迪
您可能希望在UITableViewCell子类中控制布局.例如:
- (void)layoutSubviews
{
CGRect b = [self bounds];
b.size.width += 30; // allow extra width to slide for editing
b.origin.x -= (self.editing) ? 0 : 30; // start 30px left unless editing
[contentView setFrame:b];
// then calculate (NSString sizeWithFont) and addSubView, the textField as appropriate...
//
[super layoutSubviews];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9709 次 |
| 最近记录: |