【发布时间】:2013-07-19 07:29:25
【问题描述】:
我想将在第一个视图控制器中拍摄的照片传递给第二个视图控制器。我希望用户在第一个视图控制器中拍照,然后在第二个视图控制器中裁剪,然后保存..所以就像..用户拍照→裁剪→保存。我只想做这个简单的任务,但要花几天时间才能让 segue 正常运行。segue 是最好的方法吗?还是有更简单的方法来完成这项任务。我是 Objective -c 的初学者,所以它让我对 segues 和所有东西感到困惑。
【问题讨论】:
我想将在第一个视图控制器中拍摄的照片传递给第二个视图控制器。我希望用户在第一个视图控制器中拍照,然后在第二个视图控制器中裁剪,然后保存..所以就像..用户拍照→裁剪→保存。我只想做这个简单的任务,但要花几天时间才能让 segue 正常运行。segue 是最好的方法吗?还是有更简单的方法来完成这项任务。我是 Objective -c 的初学者,所以它让我对 segues 和所有东西感到困惑。
【问题讨论】:
您需要在源视图控制器中实现prepareForSegue:sender:。这将使您可以通过传递的storyboard 访问destinationViewController。然后您可以设置图像,使其在显示目标视图控制器时可用。
【讨论】:
就 segue 而言,您需要使用故事板通过将箭头从第一个视图控制器拖动到第二个视图控制器来创建一个 segue 箭头,最重要的是,您需要为 segue 提供一个标识符或名称。
为了解雇你,你可以通过编程方式进行,例如:
[self performSegueWithIdentifier:@"ShowSecondScreen" sender:self];
为了在 segue 被触发时处理事情,你需要编写 prepareForSegue() 方法,你可以将任何对象从当前 viewController 传递到下一个 viewController:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"ShowSecondScreen"])
{
SecondViewController *secondViewController = segue.destinationViewController;
secondViewController.imageObj = image;
}
}
【讨论】: