UIButton点击崩溃的应用程序

时间:2012-05-09 19:58:47

标签: ios uibutton

我点击“确定”时出现错误警报视图

- (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)

1 个答案:

答案 0 :(得分:3)

除非您在外部显示器上显示某些内容,否则不应创建新的UIWindow。

在iOS中,窗口没有标题栏,关闭框或任何其他视觉装饰。窗口始终只是一个或多个视图的空白容器。此外,应用程序不会通过显示新窗口来更改其内容。如果要更改显示的内容,请改为更改窗口的最前面视图。

查看View Programming Guide for iOS