[iOS7] かっこいいカスタムAlertViewモジュール3選

iOS7向けの多機能なアラート、かっこいいデザインのアラートなどを紹介します!

多機能アラート: LMAlertView

GitHub repository

標準アラートビューと同じ見た目で、アラートの中に地図を埋め込んだりアプリ評価を出したりできます。これはイカス!!いい感じのコメントフォームとか簡単に実装できますね!

プログレス表示に便利: MBProgressHUD

GitHub repository

アラートとは少し違うけど似たようなもんなのでご紹介w 処理の進捗表示といった一時的に表示する用途に向いています。
デザインがかっこいい!!使い方も簡単!!バリエーション豊富!!
個人的にはキャンセルボタンが欲しいかな。




デザイン重視: MLAlertView

GitHub repository

こちらはタイトルバーに色がついててちょっとオシャレなアラート。動きもポップ!


[iOS] 矩形領域にスポットライトをあててUIを手軽に説明できるWSCoachMarksView

注目してほしい箇所以外を暗くして、説明文を表示できるコンポーネント。
初回起動時にざっとアプリのUIの使い方を説明するのに調度いいですね!!

ビデオがうまく表示されない方はこちら

WSCoachMarksView on GitHub

様々なiOSアプリのチュートリアル画面を集めたサイト

アプリのチュートリアル画面を考えるのって大変ですよね。
何ができるのか、どんな嬉しい事があるのかを、端的に伝えなければなりません。

そこで、参考になりそうなチュートリアルのスクリーンショット集があれば便利ですよね。
apptutorial というサイトは、様々なiOSアプリのチュートリアルのスクリーンショットを集めたサイトです。
これを見ながらイメージを膨らませると、いいアイデアが出そうですね!!

iOS7でtweetbotっぽいぼかしアニメーションつきModalView

概要

tweetbot 3では、モーダルビューの表示方法が下記画像のように凝っている。
ツイートの長押しでアクションメニューが表示される際に、直前の画面が後ろに下がりぼかしがかかる。
メニューは、それにオーバーレイされて表示される。
これ、チョーかっこいいので真似してみた。

こちらが、真似したもの。完全に再現は出来てないけど、満足レベル。

GitHubにてソースを取得できます: NRBlurryStepOutAnimatedTransitioning

つかいかた

NRBlurryStepOutAnimatedTransitioning.h,mをプロジェクトに追加します。

あなたのViewControllerにUIViewControllerTransitioningDelegateプロトコルを追加:

#!objectivec
@interface NRPresentedViewController : UIViewController<uiviewcontrollertransitioningdelegate>
@end

そのViewControllerクラスに以下のような実装を加えます:

#!objectivec
#import "NRBlurryStepOutAnimatedTransitioning.h"

-(void)showNewController;
{
    UIViewController* vc = [[YourModalViewController alloc] init];
    vc.transitioningDelegate = self;
    [self presentViewController:vc animated:YES completion:NULL];
}


#pragma mark - UIViewControllerTransitioningDelegate

- (id<uiviewcontrolleranimatedtransitioning>)animationControllerForPresentedController:(UIViewController *)presented presentingController:(UIViewController *)presenting sourceController:(UIViewController *)source
{
    return [[NRBlurryStepOutAnimatedTransitioning alloc] initWithPresenting:YES];
}

- (id</uiviewcontrolleranimatedtransitioning><uiviewcontrolleranimatedtransitioning>)animationControllerForDismissedController:(UIViewController *)dismissed
{
    return [[NRBlurryStepOutAnimatedTransitioning alloc] initWithPresenting:NO];
}

あとは -showNewController を好きな時に呼び出すだけ。
簡単!

Parse Analyticsはスマホアプリの利用傾向のリアルタイム分析に便利



iOSやAndroidでは、FlurryやGoogle Analyticsがユーザの行動傾向分析によく使われる。
Flurryの集計は完了するまでに1日近くかかったりする。
Parseは、リアルタイムにイベントの発生をグラフ化してくれる。
使い方はFlurryとほぼ同じ。

すぐに集計結果が見たいというせっかちな人におすすめ。

iOS7でのアニメーションの一時的な無効化方法

アニメーションが有効な時、一部のViewの変更だけをアニメーションさせたくない場合がよくあります。
この時、いままでは以下のようなコードで実現していました:

[CATransaction begin];
[CATransaction setDisableActions:YES];
view.frame = CGRectMake(...);
[CATransaction commit];

iOS 7では、これをブロックベースで書けます:

[UIView performWithoutAnimation:^{
    view.frame = CGRectMake(...);
}];

これは短くて覚えやすい。