では、ポップオーバーの使い方~
ヘッダファイルに追加
UIPopoverControllerDelegate
UIPopoverController *popoverController;
では実装ファイルのコード~
-(void)openPopover:(UIView *) _ctrlView{
if (!popoverController) {
UIViewController *controller = [[UIViewController alloc] init];
controller.view.frame = _popView.frame;
//viewのサイズと同じように。
controller.contentSizeForViewInPopover = controller.view.frame.size;
popoverController = [[UIPopoverController alloc]initWithContentViewController:controller];
popoverController.delegate = self;
}
//ポップオーバー非表示場合表示
if(!popoverController.popoverVisible) {
//クリックされたコントーラーから吹き出すように設定
[popoverController presentPopoverFromRect:_ctrlView.bounds inView:_ctrlView permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
else{
[popoverController dismissPopoverAnimated:YES];
}
}
これをIBAction内でこんな感じで呼び出しました。⬇
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
UIButton *btn = sender;
[self openPopover:btn];
}
※ユニバーサルアプリです。
以上~
ポップオーバー初めて見たけど、かわいいね!
ヘッダファイルに追加
UIPopoverControllerDelegate
UIPopoverController *popoverController;
では実装ファイルのコード~
-(void)openPopover:(UIView *) _ctrlView{
if (!popoverController) {
UIViewController *controller = [[UIViewController alloc] init];
controller.view.frame = _popView.frame;
//viewのサイズと同じように。
controller.contentSizeForViewInPopover = controller.view.frame.size;
popoverController = [[UIPopoverController alloc]initWithContentViewController:controller];
popoverController.delegate = self;
}
//ポップオーバー非表示場合表示
if(!popoverController.popoverVisible) {
//クリックされたコントーラーから吹き出すように設定
[popoverController presentPopoverFromRect:_ctrlView.bounds inView:_ctrlView permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
else{
[popoverController dismissPopoverAnimated:YES];
}
}
これをIBAction内でこんな感じで呼び出しました。⬇
if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
UIButton *btn = sender;
[self openPopover:btn];
}
※ユニバーサルアプリです。
以上~
ポップオーバー初めて見たけど、かわいいね!