我正在尝试在 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 的矩形 - 所以它并没有过大。
知道为什么,或如何修复/调试吗?