Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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
Ios 在不使用手势识别器的情况下,基于点击外部缩小视图_Ios_Objective C_Iphone_Swift - Fatal编程技术网

Ios 在不使用手势识别器的情况下,基于点击外部缩小视图

Ios 在不使用手势识别器的情况下,基于点击外部缩小视图,ios,objective-c,iphone,swift,Ios,Objective C,Iphone,Swift,我的着陆屏幕上有三个集装箱,一个在另一个下面。最底部的容器有一种行为,即根据其边界内的轻敲增加其高度 现在,一旦我点击屏幕上的任何地方——包括上述容器以及其他两个容器的边界,我想将容器收缩回原始高度 我目前正在通过在其他三个容器上添加一组点击手势识别器并检查一个布尔值(isShrunk)来进行收缩。但是,这些手势识别器似乎没有必要,因为我只想在视图高度增加后的下一次触摸时缩小视图 我可能不太理解您的需要,但简化的一种方法是重构代码: 一个父视图类,包含轻触手势识别器和三个容器作为父子类,即将手势

我的着陆屏幕上有三个集装箱,一个在另一个下面。最底部的容器有一种行为,即根据其边界内的轻敲增加其高度

现在,一旦我点击屏幕上的任何地方——包括上述容器以及其他两个容器的边界,我想将容器收缩回原始高度


我目前正在通过在其他三个容器上添加一组点击手势识别器并检查一个布尔值(isShrunk)来进行收缩。但是,这些手势识别器似乎没有必要,因为我只想在视图高度增加后的下一次触摸时缩小视图

我可能不太理解您的需要,但简化的一种方法是重构代码:
一个父视图类,包含轻触手势识别器和三个容器作为父子类,即将手势管理集中在一个位置。

将父视图子类化并处理触摸事件,或将手势识别器添加到父视图,并与其他识别器(在子容器上)同时解析父视图识别器,根据您的落地屏幕的逻辑,如果需要确保点击通过并被正确捕获,请逐个失败。