Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xcode 未调用WillTransitionState(UITableview)_Xcode_Uitableview - Fatal编程技术网

Xcode 未调用WillTransitionState(UITableview)

Xcode 未调用WillTransitionState(UITableview),xcode,uitableview,Xcode,Uitableview,我试图在UITableview处于编辑模式时显示和隐藏子视图,并在它显示删除按钮(整个编辑和删除过程,而不仅仅是编辑)时,使其在返回正常模式时消失 我真的很接近我想要的方式,但每次你点击单元格中的“删除”按钮,我的视图就会消失,而我不希望它消失,直到用户完全退出编辑模式 我试图使用委托方法-(void)willTransitionOnState:(UITableViewCellStateMask)state,但调用super时出错: - (void)willTransitionToState:(

我试图在UITableview处于编辑模式时显示和隐藏子视图,并在它显示删除按钮(整个编辑和删除过程,而不仅仅是编辑)时,使其在返回正常模式时消失

我真的很接近我想要的方式,但每次你点击单元格中的“删除”按钮,我的视图就会消失,而我不希望它消失,直到用户完全退出编辑模式

我试图使用委托方法
-(void)willTransitionOnState:(UITableViewCellStateMask)state
,但调用
super
时出错:

- (void)willTransitionToState:(UITableViewCellStateMask)state {

    [super willTransitionToState:state];

    if ((state & UITableViewCellStateShowingEditControlMask)) {
        clear.alpha = 1.0;
    }
}
这个错误很常见,但我似乎找不到解决方案:

“UITableViewController”没有可见的@interface声明 选择器“WillTransitionState:”

如果不调用super,我不会得到错误,但是该方法也不会被调用


我也尝试过使用
setEditing
,但当点击删除按钮删除单元格时,我希望在整个编辑/删除过程中保持可见的视图消失,但仍处于编辑模式

willTransitionOnState
是在
UITableViewCell
上的方法,而不是在
UITableViewController
上的方法

您需要在自定义tableview单元格中调用该方法(willTransitionOnState:)。它不是UITableViewController类中可识别的方法。如果调用.m文件中的willTransitionState:如果调用自定义tableview单元格类,它应该可以工作。只需确保cell类定义了ivar“clear”(根据您提供的代码,您似乎已经定义了ivar)。如果您想在编辑时防止单元格缩进内容,也可以查看layoutSubviews方法。

我在'numberOfRowsInSection'中设置了视图的alpha属性,导致了消失问题,但我仍然不知道为什么不会调用WillTransitionState。