0

私はiPhoneの開発に不慣れです。アプリケーションにUIImagePickerControllerを実装しています。didFinishPickingMediaWithInfoデリゲートが呼び出されたとき、つまり選択ボタンがクリックされたときに少し遅れます。私のコードは次のとおりです。

- (void)imagePickerController:(UIImagePickerController *)picker   didFinishPickingMediaWithInfo:(NSDictionary *)info 
{
       LGViewHUD* hud = [LGViewHUD defaultHUD];
       hud.activityIndicatorOn=YES;
       hud.bottomText=@"Login..";
       [hud showInView:picker.view];
       [self performSelectorInBackground:@selector(pickerFunction:) withObject:info];
}

- (void) pickerFunction :(NSDictionary *)info
{
    profilePicture.image = [info objectForKey:@"UIImagePickerControllerEditedImage"];
    [imgPicker dismissModalViewControllerAnimated:YES];
}

私はボタンの選択アクションにハッドを持ち込もうとしていますが、それは少し遅れてからです。誰かが私にこの実装の方法を提案できますか?

前もって感謝します..

4

2 に答える 2

0

どうしようもないと思います。

私は自分自身で問題を抱えていました.UIImagePickerControllerがデリゲートメソッド「didFinishPickingMediaWithInfo」を呼び出しているために遅延が発生しているようです. そのメソッドに到達すると、すべてがすばやく実行されます。「didFinishPickingMediaWithInfo」にどんなコードを入れても構いません。遅延時間は、そのメソッドが呼び出される前に発生します。

私もこれを試しましたが、コントローラーを閉じる以外は何もしません。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
     [self dismissModalViewControllerAnimated:YES];
}

UIImagePickerController を閉じるのにまだ数秒かかりました。

于 2012-08-21T15:22:41.037 に答える
0

このデリゲートでも同様の遅延が発生しました。画像/ビデオが圧縮されるまで呼び出されないことが判明しましたdidFinishPickingMediaWithInfo。これには、内容によっては数秒かかる場合があります。

于 2014-11-13T03:51:43.940 に答える