AJNotificationView:便利で綺麗な通知UI

Filed under iOS SDK
Tagged as , , ,

iOSでアプリを作っていると、「ユーザーに何かしら通知したい」「でもUIAlertでユーザーの作業の邪魔をしたくない」ということがあります。
そういうときに便利な通知系UIがオープンソースライブラリで幾つかあります。
今回紹介するのはそういうライブラリのひとつ「AJNotificationView」です。

AJNotificationViewAJNoticationView-2
商用利用に安心なMITライセンスです。

プロジェクトに追加する

gitコマンドでcloneしてダウンロードします。

1
$ git clone https://github.com/ajerez/AJNotificationView.git

必要なフレームワークは、QuartzCore.frameworkのみ。まだ入っていなければプロジェクト設定で追加しましょう。
プロジェクトに追加するファイルも2つのファイルのみですので迷うことはありませんね。
AJNotificationView files

呼び出してみる

呼び出しも非常に簡単。
呼び出したいViewController内で次のようにクラスメソッドを呼び出すだけで、表示された後、自動的に消えてくれます。

1
2
3
4
5
[AJNotificationView showNoticeInView:self.view
                             type:AJNotificationTypeDefault
                            title:@"Information notification"
                  linedBackground:AJLinedBackgroundTypeDisabled
                        hideAfter:2.5f];

「ボタンを押すまで消したくない」等、自分で消したいタイミングを設定したい場合でも、次のようにするだけです。

1
2
3
4
5
6
7
8
9
AJNotificationView* panel;
 
// 表示.
panel = [AJNotificationView showNoticeInView:self.view
                            title:@"Information notification"
                        hideAfter:0];
 
// 非表示.
[panel hide];

ちなみに、前述のクラスメソッドでの表示時でも、表示部分にタッチすると自分をhideするように実装されているので、hideAfterを長めに設定しておいても問題はないと思います。
こういうところ、気が効いてるなー!

いろいろイジれる!

オープンソースですし、分かりやすいソースですので、ちょっと弄りたいなー、というときにも便利です。
例えば、バーの高さはデフォルトでは50pxですが、ソースのdefineを1箇所いじるだけで自動的に文字の高さも対応してくれます。
バーの色も、色定義部分はまとまっているので、enumを追加して定義すればよいだけです。
ただ、背景の透明度を変えるためには、色のアルファ値を変えるだけではなく、ちょっとした初期設定が必要でした。
と言っても次のコードをinitWithFrame:内に追加するだけですが。

1
[self setBackgroundColor:[UIColor clearColor]];

何にせよ、このように修正しやすいので、使えるようになっておいて損はない便利なライブラリです!

にほんブログ村 IT技術ブログ iPhoneアプリ開発へ

[AD]

↓優れたUIを作るためにはいろいろなアプリを見て研究するのが一番です!

iPhoneアプリ設計の極意 ―思わずタップしたくなるアプリのデザイン

著者/訳者:Josh Clark

出版社:オライリージャパン( 2011-06-18 )

定価:

Amazon価格:¥ 3,672

大型本 ( 320 ページ )

ISBN-10 : 4873115027

ISBN-13 : 9784873115023


↓「ユーザーインターフェイスのためのパターン集」というサブタイトルに惹かれます。

モバイルデザインパターン― ユーザーインタフェースのためのパターン集

著者/訳者:Theresa Neil

出版社:オライリージャパン( 2012-09-24 )

定価:

Amazon価格:¥ 2,808

大型本 ( 240 ページ )

ISBN-10 : 487311568X

ISBN-13 : 9784873115689


Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)