0

Xcode4.3.1を使用しています。多くのビューコントローラを備えたストーリーボードを使用してUIを作成しました。

問題

私のアプリでは、ShakeGestureを使用しています。揺れている間、私はいくつかの操作をしています、それはうまく働いています。しかし、揺れが止まると、それを表示するためにいくつかの値を別のViewコントローラーに渡す必要があります。ボタンがクリックされたときに値を渡す方法を示す多くの投稿を見てきましたが、私の問題に関係する人は誰もいません。

私の問題を解決していただければ幸いです

私の質問は

シェイクが停止した後、あるビューから別のビューコントローラーに値を渡す方法は?

例やチュートリアルを探しています。とても有難い。

編集

上記の質問の正確な関数

FirstViewControllerにボタンがあります

ここに画像の説明を入力してください

ボタンがトリガーされると、いくつかのデータを含むピッカービューがポップアップ表示されます。ユーザーがそれを選択すると、ピッカー値がボタン値に置き換わります。

ここに画像の説明を入力してください

次に、停止したときにシェイクが発生します。データを他のViewControllerに渡す必要があります。

コード

- (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

ストーリーボードの最初のViewControllerから2番目のViewControllerにCtrlキーを押しながらドラッグして、セグエを作成します。セグエをクリックして、IDインスペクターに移動します(command-option-3を押します)。識別子フィールドに名前を付け、「ShakingStopped」と言います。次に、モーション終了メソッドで使用します...

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

これにより、ビューが2番目のビューに切り替わります。次に、セグエの準備でこれに変更します...(もちろん独自の値を使用して)

- (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

シェイクジェスチャの終了を検出するには、View ControllerにmotionEnded:withEventを実装します。

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

このViewControllerにデータを渡すために上記の手法を使用する

于 2012-08-02T20:46:45.057 に答える