【问题标题】:Custom UITableView edit mode自定义 UITableView 编辑模式
【发布时间】:2014-06-15 07:40:54
【问题描述】:

我有一个带有自定义单元格的 UITableView,我想创建一个类似于 iOS 邮件应用程序中的编辑模式。

我的观点是这样的:

当我点击右上角的编辑时,它会变成这样:

右边的那些猫是 UIButtons。问题是当我点击它们时,不会触发 Touch Up Inside 或任何其他事件。

每个单元格都有 UITableViewCellEditingStyle 设置为无,所以我没有标准的加号和减号图标。相反,在我的自定义表格单元格视图中,我将 UIButton(猫)放在“视图之外”(X = -33),以便在 TableView 进入编辑模式时出现。

当我尝试点击猫时,不会触发内部修饰,另一方面,右侧的展开按钮始终可以正常工作。

有什么想法吗?任何帮助将不胜感激。

【问题讨论】:

  • 如果您以编程方式创建按钮,希望您记得在它们上调用 addTarget:。

标签: ios uitableview xamarin editmode


【解决方案1】:

将“猫”按钮设置为 -33 使其脱离单元格的 contentView。在这种情况下,按钮是可见的,但它不会检测到任何触摸或进行任何用户交互。相反,如果这样做,您可以使用 UITableView 委托方法:

-(void)tableView:(UITableView*)tableView willBeginEditingRowAtIndexPath:(NSIndexPath*)indexPath
{
 // add your "cat" button here
}

-(void)tableView:(UITableView*)tableView didEndEditingRowAtIndexPath:(NSIndexPath*)indexPath
{
 // remove your "cat" button here
}

【讨论】:

  • 在uitableview上设置编辑moge时好像没有调用这些方法。
  • 您可以覆盖编辑模式的 UITableViewCell 方法 -(void)setEditingAccessoryType;(UITableViewCellAccessoryType)editingAccessotyType 或 -(void)setEditingAccessoryView:(UIView*)editingAccessoryView
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-11
  • 2011-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-05
相关资源
最近更新 更多