phi*_*son 14 iphone cocoa-touch ios
对于我的iPhone应用程序,我有一个可编辑(删除)表视图.我希望能够检测到用户点击了"编辑"按钮.看到这张图片:http: //grab.by/It0
从文档中,看起来我是否实现了:
- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)
然后我可以检测到它(虽然从方法的名称,我不会想到).事实证明这不起作用.
检测到这个的任何想法?我想要的原因是我想在删除模式时勾选左上角的"全部删除"按钮.
谢谢
Ste*_*ton 20
它可能无法正常工作,因为在编辑开始之前willBeginEditingRowAtIndexPath:
调用它.
如果您想在另一种方法中检查,则需要该editing
属性:
@property(nonatomic, getter=isEditing) BOOL editing
Run Code Online (Sandbox Code Playgroud)
如果要在按下"编辑"按钮时执行某些操作,则需要实现setEditing方法:
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
Run Code Online (Sandbox Code Playgroud)
您会找到哪个UIViewController
.(嗯,这是最有可能的地方;还有其他地方.)
ima*_*747 16
当子类化tableviewcontroller时(大多数人将要做的事情,因为你必须覆盖它的委托方法只是为了将数据放入其中......)你可以覆盖setEditing:animated:方法来获取编辑状态变化.
- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
NSLog(@"Editing %i", editing);
[super setEditing:editing animated:animated];
}
Run Code Online (Sandbox Code Playgroud)
这会将状态更改传递给超类,但允许您跳到中间并检测更改,或者如果您想要更改它...