0

我在主视图控制器中有一个图像,我希望这个图像显示在新的视图控制器中......我知道如何在两个场景之间获取字符串值,但不知道故事板中的图像......请帮帮我.. .

Is it right way to pass UIImage to another controller...

if UIImage *img1=[UIImage imageNamed:@"1.jpg"]; and UIImageView is *newimgview  for newViewController

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"imageview"])
    {
        newViewController *nvc=segue.destinationViewController;
        nvc.newimgview.image=img1;

    }
}
4

4 回答 4

1

UIImage只需以与其他数据相同的方式传递指针NSString,例如performseguewithidentifier

于 2013-10-16T05:18:43.267 回答
1

如果你有图像,你可以在你的 ViewController 中调用它,不需要传递它。

[UIImage imageWithContentsOfFile:filePath];

或者

[UIImage imageNamed:filename]

如果您最初没有图像,则可以像传递字符串一样传递它的指针。在此处阅读以获取更多信息:在视图控制器之间传递数据

于 2013-10-16T05:22:23.700 回答
0

您可以将文件路径传递给目标视图控制器,或者如果需要,您可以真正传递图像。添加此方法并尝试传递图像

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

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

            YourImageTransferViewController *destViewController = segue.destinationViewController;
            destViewController.imageObject = self.imageToBeTransfered;

    }
}

YourImageTransferViewController 的ViewDidLoad 或任何你想使用图像对象作为self.imageObject

于 2013-10-16T05:28:18.103 回答
0

是的......终于我明白了......使用这段代码

In case  UIImage *imag1=[UIImage imageNamed:@"some.png"];

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"imageview"])
    {
        newViewController *nvc=segue.destinationViewController;
        nvc.imag2=imag1; //imag2 is UIImage that globally declared in newViewController
    }
}

And in newViewController under ViewDidLoad or wherever u want to use...

self.imageview2.image=imag2;

谢谢大家...

于 2013-10-21T05:51:21.770 回答