0

私は、メニューを画面の上から80ピクセル下に移動し、ユーザーが指を上から下にスワイプしたときに画面を下にスライドさせる(80ピクセル)方法を探していました(スワイプすると逆になります)。上から下に送信して送り返します)。どうすればいいですか?何でも役に立ちます。ありがとうございました!

4

1 に答える 1

3
  1. UISwipeGestureRecognizerを作成し、表示するビューに追加します。

    UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)];
    [swipeGesture setDirection:UISwipeGestureRecognizerDirectionDown];
    [self.view addGestureRecognizer:swipeGesture];
    
  2. メニュービューを保持するインスタンス変数を作成し、それを画面の外側のビューに追加します(-80のy座標に注意してください)。

    menuView = [[UIView alloc] initWithFrame:CGRectMake(0, -80, 320, 80)];
    //add whatever controls you need to the menu view, or load it from a nib
    [self.view addSubview:menuView];
    
  3. 下スワイプが検出されたときにメニューをビューにスライドさせる方法を定義します。

    -(void)swipe:(UISwipeGestureRecognizer*)sender {
            [UIView animateWithDuration:0.5 animations:^{
                [menuView setFrame:CGRectMake(0, 0, 320, 80)];
        }];
    }
    

画面をスライドさせたい場合、またはその他の操作を実行したい場合は、アニメーションブロックにアクションを追加します。

上向きのスライドでビューを削除するには、別のUISwipeGestureRecognizerを作成しますが、UISwipeGestureRecognizerDirectionUp方向を指定します。メニューの逆スライドを行う別の方法を作成します。

それが役に立てば幸い。

于 2012-07-18T04:33:53.870 に答える