我正在开发一个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
不包含任何代码行。
答案 0 :(得分:1)
您正在尝试删除错误的视图。要删除LoginScreen视图,请执行以下操作:
[LoginScreen.view removeFromSuperview];