2011-04-09 93 views
1

当表格进入编辑模式时,是否可以在单元格左侧实现UITableViewCell的子视图? 我面临的另一个问题是cell.textLabel的边界是只读的。是否有可能为该标签使用某种插页? (因为我像上面提到的,想在左侧使用视图)UITableViewCell子视图(左侧)

编辑:当整个表格进入编辑模式时,如何执行一个动作(在这种情况下,淡入一个子视图)? (不是通过在单元格上滑动)。我想实现这个的原因是因为tableview在单元格左侧显示“ - ”按钮,如果它处于编辑模式。 (如果编辑= NO,我想在单元格的左侧显示我自己的按钮,如果编辑= YES,则淡出它,如果tableView离开编辑模式(编辑=否),则再次显示它)

第一个想法指示我的东西是这样的:

- (void)setEditing:(BOOL)editing animated:(BOOL)animated { 
    [super setEditing:editing animated:animated]; 
    if(editing) { 
     //fade out my own button 
    } else { 
     //show my own button 
    } 
} 

但我将不得不循环所有单元格,我认为这导致大幅度的性能恶化。你怎么看?

+0

我不是很了解你想要什么,但是你看到* [Table View Programming Guide](http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/TableView_iPhone/AboutTableViewsiPhone/ AboutTableViewsiPhone.html)*? – vikingosegundo 2011-04-09 18:39:58

回答

1

最后,我创建了一个自定义的UILabel,而不是默认的UITableView textLabel,并在左侧添加了一个自定义按钮。在setEditing方法中,我将这个按钮淡入/淡出。

1

您想要设置UITableViewCell的编辑附件视图。有关这方面的信息,请参阅editingAccessoryView property。更多信息请参见TableView Programming GuideCustomizing Cells section

表格视图单元格内容视图内的标签是只读的,因此您不能重新分配它,但其属性是可变的。实际上,您可以在表视图单元格的范围内移动标签。这可能会让人困惑,但请查看Table View Programming Guide的Characteristics of Cell Objects部分。其中显示了每个嵌套视图的边界框(并非全部都始终可见)。出于您的目的,一个好的练习是将UITableViewCell的每个子视图的背景颜色设置为不同的颜色,然后尝试调整它们的大小。这样做并理解正在发生的事情可能会让你达到你想要的最终结果。