私は、メニューを画面の上から80ピクセル下に移動し、ユーザーが指を上から下にスワイプしたときに画面を下にスライドさせる(80ピクセル)方法を探していました(スワイプすると逆になります)。上から下に送信して送り返します)。どうすればいいですか?何でも役に立ちます。ありがとうございました!
質問する
1631 次
1 に答える
3
UISwipeGestureRecognizerを作成し、表示するビューに追加します。
UISwipeGestureRecognizer *swipeGesture = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipe:)]; [swipeGesture setDirection:UISwipeGestureRecognizerDirectionDown]; [self.view addGestureRecognizer:swipeGesture];
メニュービューを保持するインスタンス変数を作成し、それを画面の外側のビューに追加します(-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];
下スワイプが検出されたときにメニューをビューにスライドさせる方法を定義します。
-(void)swipe:(UISwipeGestureRecognizer*)sender { [UIView animateWithDuration:0.5 animations:^{ [menuView setFrame:CGRectMake(0, 0, 320, 80)]; }]; }
画面をスライドさせたい場合、またはその他の操作を実行したい場合は、アニメーションブロックにアクションを追加します。
上向きのスライドでビューを削除するには、別のUISwipeGestureRecognizerを作成しますが、UISwipeGestureRecognizerDirectionUp
方向を指定します。メニューの逆スライドを行う別の方法を作成します。
それが役に立てば幸い。
于 2012-07-18T04:33:53.870 に答える