在另一个视图中显示来自UIImageView的照片

时间:2013-10-26 18:22:28

标签: ios objective-c uitableview uiimageview

我有一个类,它保存tableView

的信息
    @interface Tricks : NSObject

   @property(strong, nonatomic) UIImageView *trickPhoto;
   @property(strong, nonatomic) NSString *trickName;
   @property(nonatomic) BOOL landed;

   +(NSMutableArray *)trickList;

@end

在这个课程中,当我点击保存时,它会在tableview中创建一个单元格

-(IBAction)saveAction:(id)sender

    Tricks *trick = [[Tricks alloc]init];
        trick.trickName = self.trickLabel.text;
        trick.trickPhoto.image = self.trickPhotoTake.image;
        [[Tricks trickList]addObject:trick];

在从tableViewCell推送的detailViewController中,我想显示技巧和照片的名称,但它只显示名称。 使用我知道的断点,UIImage属性中有一个名为trickPhoto的值,但没有显示图片。 谢谢你的建议

2 个答案:

答案 0 :(得分:0)

如果您使用的是Storyboard,则需要使用:

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

any属性只存在于它创建的类中。如果你在ViewControllr中并使用名为@“image.png”的图像设置DetailViewController的UIImageView属性,那么DetailViewController的该属性只存在于ViewController中。

尝试:

 - (void)prepareForSegue:(UIStoryboardSegue    
 *)segue sender:(id)sender
if ([segue.destinationViewController        
 isKindOfClass:[DetailViewController class]]) {
    viewController = 
     segue.destinationViewController;
    if ([segue.identifier 
isEqualToString:@"____enterSegueIdentifier____"])
{
        detailViewController.trickPhoto.image = 
     [UIImage imageNamed:@"______"];
    }
}
 }

答案 1 :(得分:0)

在detailViewController中,您可以从另一个viewController调用extern属性,如下所示:

  extern UIImageView *trickPhoto;

在导入后输入以下代码。

      @interface detailViewController ()