我点击“确定”时出现错误警报视图
- (id)initWithFrame:(CGRect)frame {
if ((self = [super initWithFrame:frame])) {
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button setTitle:@"OK" forState:UIControlStateNormal];
[button setFrame:CGRectMake(10, 80, 266, 43)];
[button addTarget:self action:@selector(dismissError:) forControlEvents:UIControlEventTouchUpInside];
[alertView addSubview:button]; //This is a subview of
//...other stylings for the custom error alert view
errorWindow = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
errorWindow.windowLevel = UIWindowLevelStatusBar;
errorWindow.hidden = NO;
[errorWindow addSubview:alertView];
[errorWindow makeKeyAndVisible];
}
此alertView位于自定义ErrorAlert:UIView。
中此警报显示正常。
然而,当点击“确定”按钮时,应用程序崩溃,它从未到达 - (void)dismissError:(id)sender;
我在错误的地方添加按钮了吗? (它给出了通用的int retVal = ...... EXC_BAD_ACCESS)
答案 0 :(得分:3)
除非您在外部显示器上显示某些内容,否则不应创建新的UIWindow。
在iOS中,窗口没有标题栏,关闭框或任何其他视觉装饰。窗口始终只是一个或多个视图的空白容器。此外,应用程序不会通过显示新窗口来更改其内容。如果要更改显示的内容,请改为更改窗口的最前面视图。