iOS 10以降のNotificationの見た目
はじめに
- iOS 10でNotificationを利用したコードを実装して、しばし悩みました
- その理由は、追加したカスタムAction(ボタン)が表示されなかった(ように見えた)ためです
- その辺りを、整理してみます
検証環境
- Xcode 8.2.1
- iOS 10.2
カスタムActionが表示されない?
- SettingsからNotificationの表示形式でAlertを選択しても、見た目上はBannerです
- 放置しても消えないBannerがAlert
- 機能としても、放置して消えるか残るかの違いのみ
- ユーザが操作をしなければ、カスタムActionは表示されません
- これまでのBannerと同じ挙動ですね
-
以下の画像はiPhone 5sですが、3D Touch非対応のデバイスではよく見るとBannerの下部に引っ張れそうなハンドルが表示されてます
カスタムActionの表示条件
- 便宜上、HOME画面と書いてますが当然、何らかのアプリがフォアグラウンドにいても同じです
- Popは、3D Touchの強く押し込む動作です(軽く押すのがPeek)
- Banner表示でもAlert表示でも、操作は共通です
- Xcode 8.2.1
- iOS 10.2
カスタムActionが表示されない?
- SettingsからNotificationの表示形式でAlertを選択しても、見た目上はBannerです
- 放置しても消えないBannerがAlert
- 機能としても、放置して消えるか残るかの違いのみ
- ユーザが操作をしなければ、カスタムActionは表示されません
- これまでのBannerと同じ挙動ですね
-
以下の画像はiPhone 5sですが、3D Touch非対応のデバイスではよく見るとBannerの下部に引っ張れそうなハンドルが表示されてます
カスタムActionの表示条件
- 便宜上、HOME画面と書いてますが当然、何らかのアプリがフォアグラウンドにいても同じです
- Popは、3D Touchの強く押し込む動作です(軽く押すのがPeek)
- Banner表示でもAlert表示でも、操作は共通です
- 放置しても消えないBannerがAlert
- 機能としても、放置して消えるか残るかの違いのみ
- これまでのBannerと同じ挙動ですね
以下の画像はiPhone 5sですが、3D Touch非対応のデバイスではよく見るとBannerの下部に引っ張れそうなハンドルが表示されてます
- 便宜上、HOME画面と書いてますが当然、何らかのアプリがフォアグラウンドにいても同じです
- Popは、3D Touchの強く押し込む動作です(軽く押すのがPeek)
- Banner表示でもAlert表示でも、操作は共通です
画面 | 3D Touch | カスタムActionの表示方法 |
---|---|---|
HOME画面 | あり | Pop or 下にスワイプ |
HOME画面 | なし | 下にスワイプ |
通知センター | あり | Pop |
通知センター | なし | 左にスワイプ -> Viewをタップ |
まとめ
- iOS 10におけるNotificationのカスタムActionは、Alert表示でも最初から表示されているわけではないので気付きにくいです
- iOS 9まではAlertでの表示がアラートダイアログ形式だったので、カスタムActionは初めから表示されていました
-
Popが利用できないデバイス(3D Touchがないデバイス)では、通知センターにおいてカスタムActionを表示する術がありません
下にスワイプしても画面全体が下に動くだけで、個別のNotificationには何も起こりません
- 3D Touch無効でも、左にスワイプ -> Viewをタップで表示できます(コメントにてご指摘頂き、修正しました)
- iOS 9までは通知センター上ではカスタムActionを表示できなかったので、高機能になった(3D Touch対応デバイスでは)と言えると思います
- わざわざユーザがカスタムActionを表示させる必要があるので、従来のアラートダイアログ形式と異なり、気づかれにくいという点が少し残念です
- とは言え、これまでもアラートダイアログ形式のNotificationは操作の邪魔になるので、Banner表示に変更するユーザが多かったのではないかと思います
- そう考えると、そんなに気にしなくてもいいのかもしれませんね
- iOS 9まではAlertでの表示がアラートダイアログ形式だったので、カスタムActionは初めから表示されていました
下にスワイプしても画面全体が下に動くだけで、個別のNotificationには何も起こりません- 3D Touch無効でも、左にスワイプ -> Viewをタップで表示できます(コメントにてご指摘頂き、修正しました)
- とは言え、これまでもアラートダイアログ形式のNotificationは操作の邪魔になるので、Banner表示に変更するユーザが多かったのではないかと思います
- そう考えると、そんなに気にしなくてもいいのかもしれませんね
Author And Source
この問題について(iOS 10以降のNotificationの見た目), 我々は、より多くの情報をここで見つけました https://qiita.com/aokiplayer/items/70769d33d10c14912915著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .