- (IBAction) tapAction:(id)sender { // 表示するViewController SelectViewController *svc = [[[SelectViewController alloc] init] autorelease]; // Popoverの領域の大きさを設定 svc.contentSizeForViewInPopover = svc.view.frame.size; svc.delegate = self; // Popoverのインスタンス生成 UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController: svc]; // Popoverを表示する [popover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; }
Popoverの表示領域を設定しない場合は、画面いっぱいにViewが表示されます。
ここでは svc.view.frame.size を指定していますがこうしておくとViewのサイズに合わせて表示されます。
独自のViewController(上ではSelectViewController)を使用する場合は予めimportしておく必要があります。
他にも使い方としてはカメラロールの表示も同じやり方で出来ます。
- (IBAction) tapAction:(id)sender { UIImagePickerController *ipc = [[[UIImagePickerController alloc] init] autorelease]; ipc.delegate = self; ipc.sourceType = UIImagePickerControllerSourceTypePhotoLibrary; // Popoverのインスタンス生成 UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController: ipc]; // Popoverを表示する [popover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; }
注意することも書いてみたのでそちらもどうぞ
UIPopoverControllerを使う際に注意すること
0 件のコメント:
コメントを投稿