アクション(ダウンロードなど)が正常に完了したことをユーザーに警告するためのiOS7の便利な通知パターンはありますか?比較は、Androidの 'Toast' 通知になります。 Apple HIG docsには何も見つかりませんでした。
注:これは、何かを閉じるか選択するためにユーザーがアクションを中断する必要があるアラートの場合とは異なります。
私が考えることができる唯一の解決策は、iOS5から出回っている通知バナーです。通知は最終的に通知センターに表示されます。これは、電話を見ていなかったときに画面にも表示されるので便利です。
「トースト」とは何かについてさらに読むと、通知センター(ユーザーが無効にすることができる)を介して外部ではなく、アプリ内で何かが起こっている(または起こった)ことをユーザーに知らせるためにフィードバックメカニズムを参照していると想定します。 。
これらのインスタンスの典型的なデザインパターンは、テキストの説明を含む進行状況バーです。
2013年のWWDCビデオでは、視聴に開発者アカウントを必要とするディスカッションもあります。そこでは、テキストフィードバックの増加としてiOS 7の背後にある哲学の1つが説明されています。したがって、Interface Builder内でラベルを作成することもできます-自動レイアウトを使用して(またはプログラムで)配置します。次に、次のようなものを使用してラベルを表示および非表示にすることができます。
-(void)displayBurstNotificationMessage:(NSString*)message forLabel:(UILabel*)label {
label.text = message;
[UIView animateWithDuration:0.25
animations:^{
label.alpha = 1.0; //fade in
} completion:^(BOOL finished) {
[UIView animateWithDuration:0.5
delay:5
options:0
animations:^{
label.alpha = 0.0; //fade out
} completion:nil];
}];
}
これにより、ラベルが1/4秒で存在するようになります(notificationLabel.alpha = 1.0)-フェードインが終了したら、5秒待ってから(遅延)、フェードアウトします(notification.alpha = 0.0)。 0.5秒(animateWithDuration)。完了処理は一切行われません。
編集:概念/位置ごとに異なるラベルが必要な場合があるため、「ラベル」ビットを追加しました。このようにして、メソッドは画面上のどのラベルでも機能します。
編集2:カレンダーアプリを今日見ていたところ、月ビューに通知パターンが表示されていました。月をすばやくスクロールすると、ナビゲーションコントローラーのすぐ下に月の名前と年が表示された小さなバナーが表示されます。
お役に立てば幸いです。
私は自分のアプリケーションの1つで同じようなニーズがあり、iOSでもToastのようなUIコントロールを見つけることができませんでした。結局、自分で作ったばかりです。