我正在使用复杂的视图层次结构,我希望当其中一个子视图被挖掘到其边界之外时,它应该被删除。我尝试使用带有水龙头手势的透明视图,但它不允许我使用上面提到的子视图。
我该如何实现?
答案 0 :(得分:1)
创建如下所示的层次结构(为此创建XIB):
1)创建一个具有全屏大小的透明容器视图并保持对它的引用
2)添加具有全屏大小的透明UIButton并设置其操作方法
3)在全屏透明按钮
上添加子视图现在,只要您想显示subView,就会显示此容器视图。 每当用户点击子视图外,您的按钮点击操作方法将被调用。在此方法中,您可以使用removeFromSuperView
删除整个Container视图答案 1 :(得分:0)
[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.
答案 2 :(得分:0)
我将在子控制器上使用委托,如
@protocol ViewControllerDelegate <NSObject>
-(void)dismissPopupViewController;
@end
并将其设置为带控子控制器的父控制器,此方法将关闭子控制器。
答案 3 :(得分:0)
请使用UITouch委托方法:
- touchesBegan:withEvent:
- touchesMoved:withEvent:
- touchesEnded:withEvent:
- touchesCancelled:withEvent:
获取子视图的位置并进行相应管理。