Ios 在视图框架外轻敲时删除视图
我使用的是一个复杂的视图层次结构,我希望当一个子视图在其边界外被点击时,它应该被删除。我已经尝试使用带有点击手势的透明视图,但它不允许我使用上述子视图Ios 在视图框架外轻敲时删除视图,ios,iphone,ipad,uiview,frame,Ios,Iphone,Ipad,Uiview,Frame,我使用的是一个复杂的视图层次结构,我希望当一个子视图在其边界外被点击时,它应该被删除。我已经尝试使用带有点击手势的透明视图,但它不允许我使用上述子视图 如何实现这一点?我将在子控制器上使用委托,如 [yourView removeFromSuperview]; /// if you want to show that view again you need to allocate it again. (or) [yourView setHidden:YES]; /// if you w
如何实现这一点?我将在子控制器上使用委托,如
[yourView removeFromSuperview]; /// if you want to show that view again you need to allocate it again.
(or)
[yourView setHidden:YES]; /// if you want to show that view again Just set it as NO.
@protocol ViewControllerDelegate <NSObject>
-(void)dismissPopupViewController;
@end
@protocol ViewControllerDelegate
-(作废)解除PopupViewController;
@结束
并将其设置为父控制器,这将带来子控制器,此方法将关闭子控制器。创建如下层次结构(为此创建XIB): 1) 创建一个全屏大小的透明容器视图,并保留对它的引用 2) 添加一个全屏大小的透明UIButton并设置其操作方法 3) 在全屏透明按钮上添加子视图 现在,只要您想显示子视图,就可以显示这个容器视图。
每当用户在子视图外点击时,就会调用按钮点击时的操作方法。在此方法中,您可以使用removeFromSuperView删除整个容器视图。请使用UITouch委托方法: –触摸开始:使用事件: –触摸移动:带事件: –touchesEnded:withEvent: –触摸已取消:带有事件:
获取子视图的位置并进行相应的管理。我使用点击手势而不是按钮,并使用点击点来比较它是否位于特定视图中。