UIActionSheet showInView 上的 iPad NSInternalInconsistencyException
Posted
技术标签:
【中文标题】UIActionSheet showInView 上的 iPad NSInternalInconsistencyException【英文标题】:iPad NSInternalInconsistencyException on UIActionSheet showInView 【发布时间】:2011-02-25 22:07:56 【问题描述】:在我的通用 iPhone/iPad 应用程序中,当我尝试在模式视图中显示操作表时,我只会在 iPad 上崩溃。当我在主视图中时它不会崩溃。这个过程是这样的:
(用户单击按钮以呈现模态视图)
-(IBAction)showModal:(id)sender
modalController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentModalViewController:modalController animated:YES];
(然后,在指定的时间,调用一个函数,然后调用 UIActionSheet)
actionSheet = [[UIActionSheet alloc] initWithTitle:@"Alarm"
delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:@"Dismiss"
otherButtonTitles:nil];
[actionSheet showInView:self.view];
这给了我以下错误:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Invalid parameter not satisfying: view != nil'
有人知道为什么我只在 iPad 上收到此错误吗?谢谢!
【问题讨论】:
self.view 为零。您应该向我们展示更多代码... 有很多代码我不知道包含什么相关?问题是它适用于 iPhone,而不是 iPad。 你有没有想过这个问题?文档建议在 iPad 上调用showFromRect:inView:animated:
,但并不是说 showInView:
是不可接受的。 developer.apple.com/library/ios/DOCUMENTATION/UIKit/Reference/…
【参考方案1】:
你不应该使用吗?:
UIActionsheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Alarm"
delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:@"Dismiss"
otherButtonTitles:nil];
[actionSheet showInView:[self view]];
【讨论】:
对不起,我忽略了在它之前包含我已经定义的行:UIActionsheet *actionSheet;
以上是关于UIActionSheet showInView 上的 iPad NSInternalInconsistencyException的主要内容,如果未能解决你的问题,请参考以下文章
从 UIActionSheet 访问 UIPopoverController
swift 创建第一个UIAlertView 和UIActionSheet
iOS:简单使用UIAlertVIew和UIActionSheet