我正在尝试添加一个customCell,它只允许我左对齐一个字符串,然后右对齐另一个字符串。在上一个问题中,有人提出了以下建议,但我在使用我的代码时遇到了问题。 Xcode说:RootviewController可能无法响应--contentView,调用[[self contentView] addSubView:item]或[[self contentView] addSubView:rank]会在运行时崩溃我的应用程序
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
UILabel *rank = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 100, 20];
//Mess around with the rects, I am just merely guessing.
[rank setTag:5];
[[self contentView] addSubView:rank];
[rank release];
UILabel *item = [[UILabel alloc] initWithFrame:CGRectMake(110, 5, 220, 20];
//Important
[item setTextAlignment:UITextAlignmentRight];
[item setTag:6];
[[self contentView] addSubView:item];
[item release];
}
UILabel *rank = (UILabel *)[cell viewWithTag:5];
UILabel *item = (UILabel *)[cell viewWithTag:6];
rank = @"leftside";
item = @"rightside";
}
感谢您的任何想法
答案 0 :(得分:1)
self
这是控制器。您应该将self
发送到刚刚创建的单元格,而不是将contentView
作为接收者。
答案 1 :(得分:1)
你应该看看
[cell.contentView addSubview:item];
[cell.contentView addSubview:rank];
rank.text = @"leftside";
item.text = @"rightside";
还有一件事需要注意。如果你的UITableView是scrollEnabled
,那么cellReusability
会出现问题,你的标签会随后滚动而搞乱。我建议您继承UITableViewCells并在布局中添加它们,然后使用CustomUITableViewCells
。