gpt4 book ai didi

ios - View 未显示在 didFinishPickingMediaWithInfo 中

转载 作者:行者123 更新时间:2023-11-29 02:25:19 30 4
gpt4 key购买 nike

更新

花了几个小时后,我找到了适合我的解决方案。一个问题是,在选择图像后没有显示 segue。

我还有一个问题,secondView 的标签栏没有显示。但我现在可以看到图像了!!

但是谢谢大家的帮助!!!!

这是我的代码:

//FirstView.m

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo{
self->takenImage = image;
[picker dismissModalViewControllerAnimated:NO];
double delayInSeconds = 0.5;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[self performSegueWithIdentifier:@"ToSecondView" sender:self];
});
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString:@"ToSecondView"]){
SecondView *editViewController =
(SecondView *)segue.destinationViewController;
//editViewController.imageView.image = self->takenImage;
[editViewController setMyImage:takenImage];
}
}

//SecondView.h

@property (nonatomic, strong) UIImage *myImage;

//viewDidLoad中的SecondView.m

self.imageView.image = _myImage;

更新:为了更好地理解,我发布了我的其余代码:

第一 View :

@interface FirstView : UIViewController <UIImagePickerControllerDelegate, UINavigationControllerDelegate>

@end


- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[picker dismissViewControllerAnimated:YES completion:^{
SecondView *svc = [[ShowPicture alloc] initWithNibName:@"SecondView" bundle:nil];
[svc setMyImage:image];
[self presentViewController:svc animated:YES completion:nil];
}];
}

** 第二 View **:

@interface ShowPicture: UIViewController
@property (nonatomic, retain) UIImageView *imageView;
@property (nonatomic, strong) UIImage *myImage;



-(void)viewDidLoad{
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(85, 90, 150, 150)];
self.imageView.image = _myImage;
[[self view] addSubview: imageView];
}

我真的很绝望。我想用 UIImagePickerController 选择一张照片并在另一个 View 中显示它。在尝试了不同的方法后,我无法显示第二个 View ,也就是应该放置图像的位置。

我的代码:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[picker dismissViewControllerAnimated:YES completion:^{
SecondView *svc = [[SecondView alloc] initWithNibName:@"SecondView" bundle:nil];
svc.imageView.Image = image;
[self presentViewController:svc animated:YES completion:nil];
}];
}

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"toSecondView"]){
ShowPicture *showPicture =
(ShowPicture *)segue.destinationViewController;
//showPicture.imageView.image = self.imageChosen;

SecondView Picture *cvc = [segue destinationViewController];
cvc.image = newImage;
}
}

当我单击“选择按钮”时,屏幕会转到 View ,您可以在其中看到相册..

我做错了什么?? :/非常感谢

最佳答案

在这里:

    ShowPicture *svc = [[ShowPicture alloc] initWithNibName:@"ShowPicture" bundle:nil];
svc.imageView.Image = image;

svc.imageView 对象尚未创建。

对于解决方案,您可以将 ShowPicture 的属性定义为:

    @property (nonatomic, strong) UIImage *myImage;

并将您的拣选委托(delegate)函数更改为:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
UIImage *image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
[picker dismissViewControllerAnimated:YES completion:^{
ShowPicture *svc = [[ShowPicture alloc] initWithNibName:@"ShowPicture" bundle:nil];
[svc setMyImage:image];
[self presentViewController:svc animated:YES completion:nil];
}];
}

最后在 ShowPicture ViewControllerviewDidLoad 方法中:

self.imageView.image = _myImage;

关于ios - View 未显示在 didFinishPickingMediaWithInfo 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27623272/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com