单击按钮删除视图控制器

时间:2013-10-07 11:25:12

标签: ios uiviewcontroller

我正在开发一个iOS应用程序库,它将根据用户输入的凭据对用户进行身份验证。

我正在做的是,从视图控制器说TestViewController当用户使用以下代码点击按钮时,我在LoginScreenViewController之上设置了一个新的视图控制器TestViewController

LoginScreenViewController * LoginScreen = [[LoginScreenViewController alloc] initWithNibName:nil bundle:nil];

[self.view addSubview:LoginScreen.view];

LoginScreenViewController包含Cancel按钮,我要在其上删除LoginScreenViewController。为此,我使用以下代码

[self.view removeFromSuperview];

问题是当我执行此代码时,我的应用程序崩溃了。

由于我的LoginScreenViewController是由库定义的,我希望它独立于调用者的实现。

修改
LoginScreenViewController.m中,我使用以下代码将事件处理程序添加到取消按钮。

[button addTarget:self action:@selector(CancelButtonHandler:) forControlEvents:UIControlEventTouchUpInside];

当我点击Cancel按钮时,应用程序崩溃了。即使CancelButtonHandler不包含任何代码行。

1 个答案:

答案 0 :(得分:1)

您正在尝试删除错误的视图。要删除LoginScreen视图,请执行以下操作:

[LoginScreen.view removeFromSuperview];