2012-04-15 7 views
2

アプリでユーザーに「利用規約」を表示するのに最適なUIオブジェクトは何ですか?私は、ビデオやデータをサーバにアップロードしようとしていることをユーザに知らせ、彼らがそれを認識しており、それを受け入れることを確認したい。利用規約を表示するためにはどのUI要素が最適ですか?

私はUIActionSheetを使用すると考えましたが、多くのテキストを表示する必要がありますので、おそらく適合しません。

答えて

3

UIWebViewとします。結局のところ、それは豪華にフォーマットされたHTMLを表示することができます。私が作成したアプリケーションの1つでは、UIViewControllerというサブクラスを作成し、Accept/DenyボタンでUIWebViewをロードします。ボーナスとして、EULAをサーバーに保存して、URLでUIWebViewをロードすることができます。

+0

ユーザーが実際に文書の最後までスクロールして完全に読み取ったかどうかを検出する方法はありますか? – AlexR

2

モーダルビューコントローラをスクロールビューで表示します。そのスクロールビューの中に、複数行のUILabelまたはUITextView(編集不可能)を配置します。 UILabelまたはUITextViewはスクロールビューを塗りつぶすべきではありません。スクロールビューの一番下に、[Accept]ボタンと[Cancel]ボタンを配置します。ここでの効果は、ユーザーにはテキストの本文が表示されますが、最後までスクロールして画面を通過するボタンに到達する必要があることです。これは、iTunesの利用規約が更新されたときにAppleが行うことに似ています。それ以上のアプリをダウンロードする前に、新しい利用規約に同意する必要があります。

利用規約が非常に短く、1画面以下であれば、スクロール表示が不要になることがあります。

ユーザーが初めてサーバーにデータをアップロードするときにこのモーダルを提示します。その後、このデータをNSUserDefaultsまたはローカルの.plistファイルに保存して、ユーザーがこの時点でこの時点でヒットした場合は、以前に契約に同意したことを確認してからもう一度提示しないでください。

ユーザーが利用規約に同意してヒットを拒否した場合は、モーダルビューコントローラーを非表示にしますが、アプリでさらに進まないようにしてください。彼らが進めようとするなら、再び条件を提示してください。

+0

私はplistに情報を保存しません。弁護士のためにサーバーにタイムスタンプでアップロードしてください。 –

+0

@NickTurner良い点!利用規約に同意せずにその時点を過ぎて進めることができないことをソースコードで証明できるかどうか確かめても、これで十分です。ローカルに保存すると、サーバーに問い合わせることなくこの部分をバイパスすることができます。 –

0

2つの状態のuiButtonを使用し、選択されていない空のチェックボックスと他の状態を選択されたチェックボックスとして使用条件のラベル付きで表示します。利用条件をuiwebviewに表示することができます。インバンドル/ローカルhtmlファイルまたはリモートファイルの同じ利用規約がwebviewに読み込まれます。

関連する問題