0

この場合、どうすれば UIProgressView を表示できるのでしょうか: UIImagePickerController で写真を撮ってから、メソッド- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info で画像を UIImage オブジェクト (outputImage) に保存し、コントローラーを非表示にします。カメラ付きの modalView/controller が消えると、次のようなコードがあります:

        NSLog(@"Image is width: %f height: %f", outputImage.size.width, outputImage.size.height);

        //FLIP PICTURE FROM FACETIME CAMERA
        if((outputImage.size.width == 480 && outputImage.size.height == 640) || (outputImage.size.width == 640 && outputImage.size.height == 480)) {
            outputImage = [UIImage imageWithCGImage:outputImage.CGImage
                                        scale:1.0 orientation: UIImageOrientationLeftMirrored];}

        //RESIZE TO 1000x1000
        outputImage = [self scaleAndCropToSize:outputImage toSize:CGSizeMake(1000, 1000)];

        NSLog(@"Now image is width: %f height: %f", outputImage.size.width, outputImage.size.height);

        //CUTING OUT TO MASK
        outputImage = [self maskImage:outputImage withMask:[UIImage imageNamed:@"mask.png"]];

        //ADDING SHADOW
        CGSize size = CGSizeMake(1000, 1000);
        UIGraphicsBeginImageContext(size);

        CGPoint thumbPoint = CGPointMake(0, 0);
        [outputImage drawAtPoint:thumbPoint];

        UIImage* shadow = [UIImage imageNamed:@"shadow.png"];

        CGPoint starredPoint = CGPointMake(0, 0);
        [shadow drawAtPoint:starredPoint];

        UIImage* result = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();
        outputImage = result;

        //ADDING TO UIIMAGEVIEW (PREVIEW)
        preview.image = outputImage;

写真がUIImageViewに入れられている間、少し時間がかかります。今回はプログレスビューを表示したいと思います。どうやってやるの?

編集:上記のコードをいくつかのメソッドに配置し、何らかの方法でメソッドの完了時間に基づくprogressviewを実装することを考えました。しかし、わからない。

4

2 に答える 2

2

UIProgressView画像操作にかかる時間を知るのは難しいので使えません。

このMBProgressHUDを試すことができます

このコードを入れてdidFinishPickingMediaWithInfo

MBProgressHUD *HUD = [[MBProgressHUD alloc] initWithView:self.view];

HUD.labelText = @"Saving Image...";

[self.view  addSubview:HUD];

HUD.delegate = self;

[HUD showWhileExecuting:@selector(savingPicture:) onTarget:self withObject:selectedImage animated:YES];

そして、画像のサイズ変更/切り抜き操作コードをsavingPictureメソッドに配置します。

于 2012-08-30T14:45:03.853 に答える
0

進行状況ビューは、ループを実行していて、完了している作業の割合がわかっている場合に、進行状況バーに進行状況を表示するのに適しています。この場合、イメージをイメージ ビューに配置する準備が整うまで、代わりに UIActivityIndi​​cator を表示できます。

于 2012-08-30T14:36:38.677 に答える