拥有TTTableViewController实例,我尝试设置当前所选单元格的背景。我知道Three20中的样式表概念,但它只是提供:
- (UITableViewCellSelectionStyle)tableSelectionStyle {
return UITableViewCellSelectionStyleGray;
}
标准选项UITableViewCellSelectionStyleNone,UITableViewCellSelectionStyleBlue,UITableViewCellSelectionStyleGray。
其次,我知道,UITableView实现只需要一个子类UITableViewCell。可以设置该单元类的selectedBackgroundView:
UIView *myBackView = [[UIView alloc] initWithFrame:self.frame];
myBackView.backgroundColor = [UIColor colorWithRed:1 green:1 blue:0.75 alpha:1];
self.selectedBackgroundView = myBackView;
[myBackView release];
如何在three20的TTTableViewController实例中设置所选单元格的背景颜色?
答案 0 :(得分:1)
例如,如果您使用TTSectionedDataSource表,那么您将其子类化,假设我们将其称为MySectionedDataSource,然后在该子类的实现中,您将要执行以下操作:
- (void)tableView:(UITableView*)tableView
cell:(UITableViewCell*)cell
willAppearAtIndexPath:(NSIndexPath*)indexPath {
UIView *view = [[UIView alloc] initWithFrame: CGRectMake(cell.frame.origin.x, cell.frame.origin.y, cell.width, cell.height)];
view.backgroundColor = [UIColor colorWithRed:1 green:1 blue:0.75 alpha:1];
cell.selectedBackgroundView = view;
}
应该这样做。
起初我尝试在
中设置selectedBackgroundView -(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
但这似乎不起作用。我搜索代码以找出原因,即如果控制器,委托,单元格或数据源中的某些内容正在重新设置bg选择,但没有任何内容。我最终不得不在技术上搜索我自己没有解决它...:)
祝你好运。