我正在尝试在UITableview处于编辑模式和时显示和隐藏子视图,同时它显示删除按钮(整个编辑和删除过程,而不仅仅是编辑),然后进行编辑当它返回正常模式时消失。
我真的很接近我想要的方式,但是每当你点击单元格中的“删除”按钮时,它会让我的视图消失,当我不希望它消失直到用户退出完全编辑模式。
我正在尝试使用委托方法- (void)willTransitionToState:(UITableViewCellStateMask)state
,但在拨打super
时收到错误:
- (void)willTransitionToState:(UITableViewCellStateMask)state {
[super willTransitionToState:state];
if ((state & UITableViewCellStateShowingEditControlMask)) {
clear.alpha = 1.0;
}
}
错误很常见,但我似乎无法找到解决方案:
'UITableViewController'没有可见的@interface声明了 selector'willTransitionToState:'
如果我不调用super,我不会收到错误,但该方法也不会被调用。
我也尝试过使用setEditing
,但是当点击删除按钮,删除单元格但仍处于编辑模式时,我希望在整个编辑/删除过程中保持可见的视图消失
答案 0 :(得分:1)
willTransitionToState
是UITableViewCell
上不在UITableViewController
上的方法。
答案 1 :(得分:1)
您需要在自定义tableview 单元格中调用该方法(willTransitionToState :)。它不是UITableViewController类中可识别的方法。如果你调用willTransitionToState:在.m文件中,如果你的自定义tableview单元类,它应该工作。只需确保单元类已定义了ivar'clear'(根据您提供的代码,您似乎已经定义了)。如果您想在编辑时阻止单元格缩进内容,请查看layoutSubviews方法。