Tom*_*ift 5 iphone uitableview ios
这类似于询问如何在没有确认的情况下滑动/删除的问题:
我的tableview包含设置了UITableViewCellEditingStyleDelete的单元格.当tableview处于编辑模式时,单元格会显示一个内部带有" - "的红色圆圈图标.要删除单元格,用户点击红色圆圈,将出现"删除"按钮.然后,用户必须点击删除哪个触发器tableView:commitEditingStyle:forRowAtIndexPath:.
我的一些行支持UITableViewCellEditingStyleInsert.在这种情况下,单元格显示一个绿色圆圈图标,里面带有"+".点击圆圈会tableView:commitEditingStyle:forRowAtIndexPath:立即调用.
我想tableView:commitEditingStyle:forRowAtIndexPath:在用户点击初始红圈图标时立即调用.也就是说,没有删除按钮步骤.
有任何想法吗?
有没有办法提供从左侧滑入的自定义编辑控件,如删除/插入?如果是这样,也许我可以使用这种机制?
我想出了一种解决方案,但它有被拒绝的风险。(通过类名检查未记录的类是否构成违反 SDK 协议?)
也许有人可以对此进行改进?
基本上,在我的自定义 UITableViewCell 的上下文中,我会监视要添加的删除按钮(不幸的是,不是 UIButton),然后调用它的 UIControlEventTouchUpInside 操作。稍微延迟一下,动画就可以正常播放了:
- (void) addSubview:(UIView *)view
{
if ([NSStringFromClass([view class]) isEqualToString:@"UITableViewCellDeleteConfirmationControl"])
{
UIControl* c = (UIControl*)view;
NSArray* actions = [c actionsForTarget: self forControlEvent: UIControlEventTouchUpInside];
[self performSelector: NSSelectorFromString( [actions lastObject] ) withObject: view afterDelay: .25];
return;
}
[super addSubview: view];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3200 次 |
| 最近记录: |