0

我正在尝试在 UIViewController 中创建 UIActionSheet,如下所示:

discardAS = [[UIActionSheet alloc] initWithTitle:"title" delegate:self cancelButtonTitle:"Cancel" destructiveButtonTitle:"Discard" otherButtonTitles:nil];

discardAS.actionSheetStyle = UIActionSheetStyleDefault;
[discardAS showInView:[self view]];

当我唤起它时-整个屏幕“变暗”(好像操作表实际上在前台)-但我看不到操作表。)它似乎正在显示“屏幕外”。

当我在 iOS7 上尝试此操作时,我可以看到一个白色的框向上射击,迅速离开屏幕 - 好像 ActionSheet 被放置在屏幕顶部上方。当我点击窗口时,昏暗消失了,一切都正常了——就像iOS7一样,如果你点击操作表然后它就消失了。

因此,我得出的结论是,ActionSheet 正在关于(和超出)屏幕范围呈现。

我还在控制台上看到以下内容

 Presenting action sheet clipped by its superview. Some controls might not respond to touches. On iPhone try -[UIActionSheet showFromTabBar:] or -[UIActionSheet showFromToolbar:] instead of -[UIActionSheet showInView:].

这两个我都试过了,结果是一样的。显示 self.view.frame 显示一个大约 0,0,300,200 的矩形 - 所以它并没有过大。

知道为什么,或如何修复/调试吗?

4

1 回答 1

0

对于后代 - 答案是我的层次结构中有一个“额外的视图控制器” - 如此处所述: iOS 6:是什么改变导致这个视图控制器层次结构中断?

于 2013-09-25T12:38:39.267 回答