0

我正在使用Xcode 4.3.1。我使用具有许多视图控制器的 Storyboard 创建了 UI。

问题

在我的应用程序中,我使用的是 ShakeGesture。虽然摇晃我正在做一些操作,但它工作正常。但是,当摇晃停止时,我需要将一些值传递给另一个视图控制器以显示它。我看过很多帖子说如何在单击按钮时传递值,但没有一个与我的问题有关。

如果能解决我的问题就好了

我的问题是

摇动停止后如何将值从一个视图传递到另一个视图控制器?

我正在寻找任何示例或教程。非常感激。

编辑

上述问题的确切功能

我在第一个视图控制器中有一个按钮

在此处输入图像描述

当按钮触发时,它将弹出带有一些数据的pickerview。当用户选择它时,选择器值将替换按钮值。

在此处输入图像描述

然后当它停止时发生抖动我必须将数据传递给其他视图控制器。

代码

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
if (event.subtype == UIEventSubtypeMotionShake)
{
        // I need to pass data here. Thats i am confusing

}

}

谢谢你们的帮助

4

2 回答 2

1

通过 ctrl 从故事板中的第一个视图控制器拖动到第二个视图控制器来创建一个 segue。单击 segue 并转到身份检查器(按 command-option-3)。在标识符字段中为其命名,例如“Shaking Stopped”。然后在您的运动结束方法中使用...

 [self performSegueWithIdentifier:@"Shaking Stopped" sender:self];

这将使视图切换到您的第二个。然后在你准备segue的时候把它改成这个......(当然使用你自己的价值观)

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    if ([segue.identifier isEqualToString:@"Shaking Stopped"]) {
<The Second View Controller> *controller = segue.destinationViewController
        //change your values in the other view controller here 
        controller.someValue = self.someValue //an example
于 2012-08-02T20:28:09.070 回答
0

要检测摇动手势的结束,请在视图控制器中实现 motionEnded:withEvent。

- (void) motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event
{
 if (event.type == UIEventSubtypeMotionShake)
 {
   // perform the seque
 }
}

使用上述技术将数据传递到此视图控制器

于 2012-08-02T20:46:45.057 回答