8

さて、ここに私が遭遇している問題があります:

viewControllerメニューを含む名前を付けたものから切り替えようとしMenuViewControllerています(明らかに)。を含む別のviewController名前があります。オーバーからオーバーまでダブルフィンガーできるようにしたいです。ViewControllermapViewswipe leftMenuViewControllermapView

どこから始めればよいか正確にはわかりません。

また、ストーリーボードではなく、xib ファイルを使用しています。iOS 6 を実行しています。

4

6 に答える 6

13
UISwipeGestureRecognizer *swipeLeftGesture=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeGesture:)];
[self.view addGestureRecognizer:swipeLeftGesture];
swipeLeftGesture.direction=UISwipeGestureRecognizerDirectionLeft;

-(void)handleSwipeGesture:(UIGestureRecognizer *) sender
{
    NSUInteger touches = sender.numberOfTouches;
    if (touches == 2)
    {
        if (sender.state == UIGestureRecognizerStateEnded)
        { 
            //Add view controller here    
        }
    }  
}
于 2013-06-26T06:15:33.087 に答える
1

これを試して...

.h ファイル内

@interface MenuViewController : UIViewController {
    ViewController *mapViewObj;
}

.m ファイルで

-(void) viewDidLoad {
    [super viewDidLoad];

    mapViewObj = [[ViewController alloc] initWithNibName:@"ViewController" bundle:nil];

    UISwipeGestureRecognizer *swipeLeftGesture=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(handleSwipeGesture:)];
    [self.view addGestureRecognizer:swipeLeftGesture];
    swipeLeftGesture.direction=UISwipeGestureRecognizerDirectionLeft;
}

-(void)handleSwipeGesture:(UIGestureRecognizer *) sender {
    NSUInteger touches = sender.numberOfTouches;
    if (touches == 2)     {
        if (sender.state == UIGestureRecognizerStateEnded)    {
            //push mapViewObj over here..
            [self.navigationController pushViewController:mapViewObj animated:YES];
        }
    }  
}
于 2013-06-26T06:28:34.400 に答える
0

まず、組み込みのナビゲーション メカニズムを使用できません。

「ViewController」のビューを「MenuViewController」のビューに追加する必要があります。「ViewController」を子ビュー コントローラーとして「MenuViewController」に追加することをお勧めします。

その後、「ViewController」のフレームを画面の外側に設定し、スワイプまたはジェスチャを実行すると、アニメーションで画面に戻ります。

于 2013-06-26T06:14:25.393 に答える
0

これは、 UIGestureRecognizer、より具体的にはUISwipeGestureRecognizerを使用する絶好の機会のように思えます。

于 2013-06-26T06:21:18.087 に答える