1

私はUIWebViewがその内容(mp3ファイル)を読み込んでいる間に、セルが押されると読み込みビューが表示されるUITableViewを持っています。 UIWebViewがロードを開始すると、モーダルビューがプッシュアップされます。その部分はうまくいきます - モーダルコントローラが押し上げるまで、ローディングビューが表示されます。UIWebViewモーダルビューが削除されたときを判断する方法は?

問題は、モーダルビューが閉じているかどうかを判断するためにどのような種類のメソッド(Webビューデリゲート、viewDidAppearなど)も見つけられないため、テーブルビューに戻るときに読み込みビューを削除できます。モーダルビューが閉じると、ユーザーはまだローディングビューを表示します。私が試した

もの:

1)webViewDidFinishLoadを使用しようとしましたが、それが呼び出されることは決してありません。 (MP3で呼び出されないのですか?)

2)WebViewDidStartLoadの読み込みビューを削除する - 問題はユーザーが読み込み中に白い画面を表示していることです。これはちょっと面白くて避けようとしていますそれ。

3)UIWebViewを独自のUIViewControllerに配置し、ビューのアルファを0に設定します。(白いビューが表示されず、モーダルビューが表示されるまで読み込み画面が表示され、次にviewDidXメソッドがキャッチされます。 )

基本的には、テーブルビュー - >読み込み画面 - > webviewモーダルビュー - > tableview(読み込み画面なし)が必要です。

私が考えることができる唯一のものは、モーダルビューの「完了」ボタンの非表示のボタンを作成し、それを使用してウェブビューが閉じたときを判断することです。

意見や提案はありますか?

おかげで、

ジョン

答えて

0

どこで、どのようにこのようなものでモーダルビューを閉じます。この時点で

[self dismissModalViewControllerAnimated:YES]; 

あなたは、たとえば、あなたの通知を送ることができます ローディングビューを停止するようにしてください:

[[NSNotificationCenter defaultCenter] postNotificationName:@"STOP_LOADING_VIEW" object:nil]; 

とロードビューに対処するメソッドを、実行:ロードビューを示しているクラスは、この通知を遵守しなければなりません。 この動作を達成する方法はたくさんありますが、いくつかのコードを表示する必要があります。

+0

多分私はあなたを理解していませんが、私はこの場合モーダルビューにアクセスできないと思います。私はそれを閉じる必要はありません。ユーザーが「完了」ボタンを使用してビューを閉じるときにヒットする方法のように。あなたを正しく理解していますか? – jmosesman

0

この場合、AVAudioPlayerを使用する方が良いと思うのは、オーディオを欲しいだけなので、これで終わることになります。

+0

実際には、mp3はローカルファイルではないので、AVAudioQueue *。 – jmosesman

関連する問題