1

我试图让我的应用程序拍照然后将图像传递到另一个视图进行编辑,但我似乎无法弄清楚如何更改视图,如何将“ID”添加到情节提要中的视图或如何在视图之间传递数据。

4

1 回答 1

1

两个 UIViewController 之间的通信需要手动管理,但是,如果您使用情节提要创建应用程序,则需要考虑一些事项。

假设您有 FirstViewController 和 SecondViewController(假设您在 Storyboard 中设置了所有内容)。FirstViewController 会将 UIImage 传递给 SecondViewController,它们看起来像这样。

@interface FirstViewController : UIViewController

- (IBAction)transitionToNextViewController;

@property (retain, nonatomic) UIImage *image;

@end

@implementation FirstViewContoller

- (IBAction)transitionToNextViewController;
{
    [self performSegueWithIdentifier:@"SegueIdentifier"];
}

@end

和:

@interface SecondViewController : UIViewController

@property (retain, nonatomic) UIImage *image;

@end

您可能想知道应该如何将图像传递给 SecondViewController。好吧,当使用故事板时,您的 UIViewControllers 将收到对其方法 prepareForSegue:sender: 的调用。您所要做的就是为那里的第二个 UIViewController 设置图像属性。

@implementation FirstViewController

- (IBAction)transitionToNextViewController;
{
    [self performSegueWithIdentifier:@"SegueIdentifier"];
}


- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    SecondViewController *secondViewController = (SecondViewController *)segue.destinationViewController; // You have to cast it

    secondViewController.image = self.image;
}

@end

就是这样。为了更好地理解故事板,请阅读此处的苹果文档。

于 2012-09-14T00:12:57.013 回答