2013-05-17 44 views
0

我想将uiimage从一个视图传递到另一个包含uiwebview的视图。这样我就可以在图像上进行简单的交互和手势。Segue通过uiimage并在UIwebview中打开

但我不知道如何在应该使用viewdidload方法的代码。

这里是我的代码:

//first view 
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
if ([segue.identifier isEqualToString:@"showbig"]) { 
     bigpic *image = [segue destinationViewController]; 
     image.bigpicture1 = set11.image; 
} 

//new view 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSURL *url = [NSURL URLWithString:bigpicture1]; 
    NSURLRequest *requestURL = [NSURLRequest requestWithURL:url]; 
    [self.bigpicture loadRequest:requestURL]; 


} 
+0

为什么使用网络视图?使用图像视图代替 –

+1

另外,不要调用UIViewController子类“bigpic”。首先它应该有一个大写字母,其次它应该是描述性的。 BigPicViewController。另外,不要调用这个“图像”的实例。至少它应该是“控制器”。 – Fogmeister

回答

1

在destinationViewController,你应该有一个属性UIImage *imageThatIShouldDisplay

在你sourceView控制器prepareForSegue方法,你会碰到这样的这个:

if ([segue.identifier isEqualToString:@"showbig"]) { 
     YourDestiantionVC *vc = (YourDestiantionVC*)[segue destinationViewController]; 
     vc.imageThatIShouldDisplay = set1.image; 
} 

在你destiantion视图控制器viewDidLoad方法,你将有:

if(self.imageThatIShouldDisplay != nil) { 
imageViewThatHandlesImageDisplay.image = self.imageThatIShouldDisplay; 
} 
else { 
imageViewThatHandlesImageDisplay.image = [UIImage imageWithName:@"my_image_placeholder.png"]; // in case you want a placeholder. 
} 
0
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    self.bigpicture.image = bigpicture1; 

} 

,因为我认为

1

你必须加载从包中的图像将其加载到一个UIWebView因为一个UIImage不能直接加载到一个UIWebView。

Answers