我正在使用Xcode 4.3.1 。 我已经创build了使用具有许多视图控制器的故事板的UI。 问题 在我的应用程序中,我正在使用ShakeGesture。 在摇晃的同时,我正在做一些操作,它的工作正常。 但是,震动停止时,我需要传递一些值到另一个视图控制器来显示它。 我看过很多post,说button点击时如何传递值,但没有人与我的问题有关。 如果你解决了我的问题,这将是非常好的 我的问题是 如何从一个视图传递值到另一个视图控制器晃动后停止? 我正在寻找任何例子或教程。 非常感激。 编辑 上述问题的确切function 我在第一视图控制器中有一个button 当button触发它将popuppickerview与一些数据。 当用户select它时,选取器值将replacebutton值。 然后抖动停止时,我必须将数据传递给其他视图控制器。 码 – (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event { if (event.subtype == UIEventSubtypeMotionShake) { // I need to pass data here. Thats i am confusing } } 谢谢你们的帮助
我如何以编程方式触发iOS中的摇动事件? 我试过以下,但它不断崩溃… + (void)shake { NSLog(@"TEST"); UIMotionEventProxy *m = [[NSClassFromString(@"UIMotionEvent") alloc] _init]; m->_subtype = UIEventSubtypeMotionShake; m->_shakeState = 1; [[[UIApplication sharedApplication] keyWindow] motionBegan:UIEventSubtypeMotionShake withEvent:m]; [[[UIApplication sharedApplication] keyWindow] motionEnded:UIEventSubtypeMotionShake withEvent:m]; } 在Hardware > Shake Gesture下的模拟器中,苹果有什么function?
我将下面的代码添加到我的appDelegate.m – (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event { } – (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event { if (motion == UIEventSubtypeMotionShake ) { // User was shaking the device. Post a notification named "shake". [[NSNotificationCenter defaultCenter] postNotificationName:@"shake" object:self]; } } – (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event { } – (void)shakeSuccess { // do something… } 然后我补充说: – (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { […]