Sams ** Teach Yourself iPadアプリケーション開発を24時間で行うと、「アクションシートを「アニメーション化されていない」方法で表示し、最初に表示されたときに完全なポップオーバービューを埋めることができます...これを行うには、アクションシートを次のように表示する必要があります。メソッド
showFromRect:inView:animated
「rect」をポップオーバーの寸法に設定し、ビューをポップオーバービューコントローラのビューに設定し、「animated」をfalseに設定します。アクションシートの表示は、ポップオーバービューコントローラのviewDidLoadメソッドなど、ポップオーバービューが最初にロードされるときに実行する必要があります。
OK、簡単..ポップオーバーのviewDidLoadメソッドのコードは次のとおりです。
- (void)viewDidLoad {
self.contentSizeForViewInPopover=CGSizeMake(400.0,400.0);
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"Available Actions" delegate:self cancelButtonTitle:@"Cancel" destructiveButtonTitle:@"Destroy" otherButtonTitles:@"Negotiate", @"Compromise", nil];
[actionSheet showFromRect:[self.view bounds] inView:self.view animated:NO];
[actionSheet release];
[super viewDidLoad];
}
inView:self.view
ただし、これは、次の例外を除いて、パラメータで毎回失敗します。
Invalid parameter not satisfying view != nil
何か案は?
これとまったく同じコードをIBActionメソッドに入れて、ポップオーバーのボタンからトリガーすると、問題なく機能することに注意してください。