7
7

More than 5 years have passed since last update.

iOS8でsegueを利用してpopoverする

Posted at

iOSでpopoverを行おうとしたら、背景が真っ黒でなんでやねん!という事態に陥った方もいるのではないでしょうか(私は陥りました)。

ここでは、標準?のStoryboardとsegueを利用した形でのpopoverの方法をご紹介します。

1. popover用のViewControllerを作成する

popover用のViewControllerについて、重要なポイントは以下2点です。

  • Viewの背景を透明(Clear Color)にする
  • Viewの上にpopover用のViewを重ねる

イメージ的には以下のような感じです。選択されているViewのBackgroundがClear Colorになっていて、その下のViewが実際現れるpopoverの画面になります。

popoverView.png

2. Segueでつなぐ

呼び出し元からpopover用のViewControllerはPresentModally、popoverを閉じるために閉じるボタン的なものから呼び出し元のViewControllerまでをDismissのSegueでつなぎます。

ポイントなのは、PresentModallyのPresentationの種別を"Over Current Context"にすること。普通のCurrentContextだとpopoverした瞬間に背景が真っ黒になってしまいます。

これにて、コードレスでpopoverが実現できたはず。

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7