小背景,表视图由fetchedResultsController填充,该控件使用字符串填充表视图。现在,我正在尝试在每个tableview单元格中的每个String旁边添加一个按钮。到目前为止,我一直在尝试在configureCell:atIndexPath方法中创建一个按钮,然后将该按钮作为子视图添加到表格单元格的内容视图中,但由于某种原因,按钮不会显示。以下是相关代码。如果有人想要更多的代码发布,只要问,我会提出你想要的任何东西。非常感谢任何帮助。
- (void)configureCell:(UITableViewCell *)cell atIndexPath:(NSIndexPath *)indexPath {
// get object that has the string that will be put in the table cell
Task *task = [fetchedResultsController objectAtIndexPath:indexPath];
//make button
UIButton *button = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];
[button setTitle:@"Check" forState:UIControlStateNormal];
[button setTitle:@"Checked" forState:UIControlStateHighlighted];
//set the table cell text equal to the object's property
cell.textLabel.text = [task taskName];
//addbutton as a subview
[cell.contentView addSubview:button];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
// Configure the cell.
[self configureCell:cell atIndexPath:indexPath];
return cell;
}
答案 0 :(得分:2)
三条评论:
UIButton
的框架。否则它不知道它应该有多大以及应该放在哪里。它可能带有默认框架,但我没有调查过。retain
[UIButton buttonWithType:...];
removeFromSuperview
cell.contentView
的每个子视图。