0

ユーザーがカメラロールから写真を選択し、UIImageView に表示できるようにするアプリケーションがあります。ただし、表示したい画像をタップしても、カメラ ロールのビューは消えません。そのため、単純に を呼び出す必要があると考えました[sender resignFirstResponder];。しかし、これはうまくいきませんでした。いろいろ試したり、いろいろ調べたりしましたが、だめでした。私はObjective-Cを初めて使用するので、どんな助けでも大歓迎です。ここに私が取り組んでいるコードがあります: (imgPicker は UIImagePickerController です。)

 - (IBAction)grabImage(id)sender {
        self.imgPicker = [[UIImagePickerController alloc] init];
        self.imgPicker.delegate = self;
        self.imgPicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

        if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
            _popover = [[UIPopoverController alloc] initWithContentViewController:imgPicker];
            [_popover presentPopoverFromRect:self.imageView.bounds inView:self.imageView permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
        } 

        else {
            [self presentModalViewController:imgPicker animated:YES];
        }
        [self.imgPicker resignFirstResponder];
    }

そして、これは問題に関連する場合と関連しない場合があります。

    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo {
        if (imageView.image == nil) {
            imageView.image = img;
            [[picker parentViewController] dismissModalViewControllerAnimated:YES];
            return;

        }

        if (imageView2.image == nil) {
            imageView2.image = img;
            [[picker parentViewController] dismissModalViewControllerAnimated:YES];
            return;
        }
    }
4

3 に答える 3

1

試す

[self dismissModalViewControllerAnimated:YES];
于 2012-04-01T19:38:08.130 に答える
1

デリゲート メソッドでモーダル ピッカーを閉じるには、次の行だけが必要です。

[picker dismissModalViewControllerAnimated:YES];

この場合、resignFirstResponder は役に立たない

于 2012-04-01T19:19:21.507 に答える
0

ピッカーの親ビューではなくピッカービューのみを閉じたいので

あなたはただ使用する必要があります:

[picker dismissModalViewControllerAnimated:YES];

これで完了です。

于 2012-04-03T10:06:38.817 に答える