0

我已经搜索了有关此问题的论坛,但没有找到有关此错误的信息。我在 xcode 中创建了一个简单的单视图应用程序,并添加了代码以在 viewDidLoad 方法中创建测试警报。

- (void)viewDidLoad
{
 [super viewDidLoad];

  UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Alert Test"
                                        message:@"Alert Test"
                                       delegate:self
                              cancelButtonTitle:@"Dismiss"
                              otherButtonTitles:nil];
  [alert show];
// Do any additional setup after loading the view, typically from a nib.
}

我没有添加任何其他代码。当我在我的 iphone 4 上运行它时,它运行没有任何问题。但是当我点击我的 iphone 4 的主页按钮并显示警报时,我收到了上述错误。

设备:iphone 4 操作系统:iOS 5.1.1

请帮忙。提前致谢

4

1 回答 1

2

你不应该alertViewviewDidLoad[UIAlertView show]显示,使用动画显示 alertView 。当我们不在 screen/view 中时,我们应该避免动画性能,而是显示alertViewin viewDidAppear

编辑:

-(void)viewDidLoad
{
  [super viewDidLoad];
 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dismiss) name:@"UIApplicationWillResignActiveNotification" object:nil];
}

-(void)viewDidAppear:(BOOL)animated{
 [super viewDidAppear:animated];
alert = [[UIAlertView alloc]initWithTitle:@"test" message:@"test" delegate:nil cancelButtonTitle:@"ok" otherButtonTitles:nil, nil];
[alert show];
}

//do not forget to add this in your header
-(void)dismiss{
   [alert dismissWithClickedButtonIndex:-1 animated:NO];
 }
于 2012-09-07T06:08:29.537 回答