2012-12-26 50 views
0

我一直在努力找出为什么错误与这种简单的代码发生的异常NSInternalInconsistencyException:UIAlertView中投掷UIAlertButton

UIAlertView *alertDialog; 
alertDialog = [[UIAlertView alloc] 
       initWithTitle:@"Alert button detected" 
       message:@"I need your attention NOW" 
       delegate:self 
       cancelButtonTitle:@"OK" 
       otherButtonTitles:@"Maybe later", @"Never", nil 
       ]; 
[alertDialog show]; 

终止应用程序由于未捕获的异常“NSInternalInconsistencyException”,原因是:“请求视图的窗口(< UIAlertButton:0x885f020; frame =(0 0; 0 0); transform = [0,0,0,0,0]; alpha = 0; opaque = NO; layer =(null) >)与零层。这个视图可能还没有收到initWithFrame:或initWithCoder :.'

我曾尝试:

  • 部署在这两个的iOS 5和6模拟器错误
  • 如果按钮被设置为,它的工作原理(如图所示无按键)
+2

您的代码在我的应用程序中正确执行。你在课堂上做错了什么,请检查你的课程是否仍在记忆中 –

+1

你的代码没有任何错误...... –

回答

0

我正在检查整个项目的设置,附加文件并逐个删除,直到我看到一个我之前手动创建的类别类:

@interface UIButton (UIButton) 

其中只有init方法。删除此类后,它的作品! (或删除可能不完整的.m中的init方法),尽管我没有将它作为标题导入到使用UIAlertView的viewcontroller中。

-(id)init 
{ 
    self.backgroundColor = [UIColor blueColor]; 
    return self; 
} 

感谢您的帮助。我将需要看看更合适的方式来实现自定义UIButton。