次のように、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 の rect が表示されるため、グロテスクな特大サイズではありません。
理由、または修正/デバッグする方法はありますか?