Ios 将图像加载到另一个视图控制器

Ios 将图像加载到另一个视图控制器,ios,image,Ios,Image,我有一个以选择类别开始的绘图应用程序。每个类别都有自己的绘图模板。如何获取secondViewController以加载正确的模板?从firstViewController中通过按钮选择类别 我已经设法给每个序列一个自己的标识符。然后呢? 我只找到解析数据或图像的方法示例。但我不希望它被解析。我希望它仅在secondViewController上加载图像 SecondViewController.h文件 @property (strong, nonatomic) UIImage *theCatI

我有一个以选择类别开始的绘图应用程序。每个类别都有自己的绘图模板。如何获取secondViewController以加载正确的模板?从firstViewController中通过按钮选择类别

我已经设法给每个序列一个自己的标识符。然后呢? 我只找到解析数据或图像的方法示例。但我不希望它被解析。我希望它仅在secondViewController上加载图像

SecondViewController.h文件

@property (strong, nonatomic) UIImage *theCatImage;
SecondViewController.m文件

@interface secondViewController()

@property (weak, nonatomic) IBOutlet UIImageView *image;

@end
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

if ([segue.identifier isEqualToString:@"vervoer"]) {
    cat01ViewController *secondView = (cat01ViewController *)segue.destinationViewController;
    // dont know what to send here... i tried to hide and show a image like this;
    secondView.theCatImage = self.newImage;
}

}
@第二视图控制器的实现

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.image.image = self.theCatImage;

}
 -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"vervoer"]) {

    UIImage *image = [UIImage imageNamed:@"vervoer.png"];
    cat01ViewController *vc = [segue destinationViewController];
    vc.showImage = image;
}

else if ([segue.identifier isEqualToString:@"huis"]) {

    UIImage *image = [UIImage imageNamed:@"huis.png"];
    cat01ViewController *vc = [segue destinationViewController];
    vc.showImage = image;
}

else if ([segue.identifier isEqualToString:@"mode"]) {

    UIImage *image = [UIImage imageNamed:@"vinkje.png"];
    cat01ViewController *vc = [segue destinationViewController];
    vc.showImage = image;
}

else if ([segue.identifier isEqualToString:@"eten"]) {

    UIImage *image = [UIImage imageNamed:@"bord.png"];
    cat01ViewController *vc = [segue destinationViewController];
    vc.showImage = image;
}

}
ViewController.h文件

#import <UIKit/UIKit.h>
#import "cat01ViewController.h"

@interface ikzieikzieAppViewController : UIViewController
@property (weak, nonatomic) IBOutlet UIImageView *newImage;

@end
编辑 上面的代码不起作用,我也不想将图像从一个viewcontroller发送到另一个viewcontroller。 这就是我想要的 在firstViewController上,用户可以从四个不同类别中进行选择。每个类别将显示自己的绘图模板,并且在最后将绘图发送到解析数据库时提供自己的ID。 那么,最好的方法是什么

***解决方案***

最终,我就是这样解决的。

视图控制器

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.image.image = self.theCatImage;

}
 -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"vervoer"]) {

    UIImage *image = [UIImage imageNamed:@"vervoer.png"];
    cat01ViewController *vc = [segue destinationViewController];
    vc.showImage = image;
}

else if ([segue.identifier isEqualToString:@"huis"]) {

    UIImage *image = [UIImage imageNamed:@"huis.png"];
    cat01ViewController *vc = [segue destinationViewController];
    vc.showImage = image;
}

else if ([segue.identifier isEqualToString:@"mode"]) {

    UIImage *image = [UIImage imageNamed:@"vinkje.png"];
    cat01ViewController *vc = [segue destinationViewController];
    vc.showImage = image;
}

else if ([segue.identifier isEqualToString:@"eten"]) {

    UIImage *image = [UIImage imageNamed:@"bord.png"];
    cat01ViewController *vc = [segue destinationViewController];
    vc.showImage = image;
}

}
第二视图控制器

@synthesize catImage, showImage;

- (void)viewDidLoad
{

   [catImage setImage:showImage];

   [super viewDidLoad];
}

您要做的是在
SecondViewController
上添加一个属性:

@property (nonatomic) int category;
然后在内部
FirstViewController

- (void)viewDidLoad
{
  [super viewDidLoad];

  self.image.image = [ParseLibrary getImageForCategory:self.chosenCategory];

}
添加属性

@property (nonatomic) int chosenCategory;
将其设置为用户选择的类别

然后在序列代码中:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
  cat01ViewController *secondView = (cat01ViewController *)segue.destinationViewController;
  [secondView setCategory:self.chosenCategory];
}
这将告诉VC需要绘制哪个图像。然后调用parse library方法,根据在
SecondViewController
中的
viewDidLoad
方法中选择的ID(类别)检索图像:

@property (nonatomic) int category;
SecondViewController

- (void)viewDidLoad
{
  [super viewDidLoad];

  self.image.image = [ParseLibrary getImageForCategory:self.chosenCategory];

}

粘贴一些你已经尝试过的代码,我在上面编辑的代码中加入了我现在所有的相关代码。这样,它必须将图片从第一视图发送到第二视图。但它不起作用,我不想从第一视图发送图片,但只在按下第一视图上的按钮时显示在第二视图上。