0

我使用 UI 视图创建了一个自定义弹出视图。此弹出视图包含一个按钮和图像。

我的父视图(带有控制器)包含一个按钮。单击按钮时,我将弹出视图添加为子视图(见下文) -

[self.view addSubview:popUp];

在我的弹出视图中,我处理了单击按钮,如下所示 -

- (IBAction)tapHabitatureButton:(id)sender {   
   [self removeFromSuperview];
}

所以点击弹出按钮,我关闭我的弹出窗口。

在我的弹出窗口关闭后,我可以看到我的父视图。但是现在我的父视图不再与事件交互。

请帮我解决问题。

4

3 回答 3

0

使用[popUP removeFromSuperview ]代替 [self removeFromSuperview]

好吧,我在这里提供你需要做的事情 1. 假设你的 popUP 视图的实例popUP *view = [popUP alloc]init]; 或通过它创建它 IBOUTlet 然后像你正在做的那样添加它,同时popUP从自身中删除 (UIView) 利用你的类中的delegatecreate继承并实现它您的protocolpopUPUIViewSuperView

然后在该函数中使用[popUP removeFromSuperview ]意味着从超级视图中删除您的 popUP 实例,您需要所有这些。

于 2013-08-16T09:47:36.913 回答
0

是的,为此你必须改变

[self removeFromSuperview];因为您要[popUP removeFromSuperview];删除 popUP 而不是显示它的本端视图。

将弹出窗口指定为 nil,popUP = nil;以删除所有内存痕迹。

希望这可以帮助。

于 2013-08-16T09:50:18.423 回答
0

利用[popUp removeFromSuperview];

代替[self removeFromSuperview];

于 2013-08-16T09:59:37.403 回答