2

presentsWithGestureを動作させることができないようです。表示される詳細ビューコントローラに基づいてオンとオフを切り替えることができる必要があります。

- (IBAction)disableGestures:(id)sender
{
    AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
    appDelegate.splitViewController.presentsWithGesture = NO;

    NSLog(@"Disable Gestures!");
}

簡単なプロジェクトをまとめました(デフォルトのUISplitViewControllerテンプレートを使用): http ://www.filedropper.com/splitviewtest

これはpresentsWithGestureの使用目的ではありませんか?

4

4 に答える 4

1

presentsWithGestureNO(またはfalse)に設定した後、マスタービューコントローラーと詳細ビューコントローラーの両方でinteractivePopGestureRecognizerfromUINavigationControllerインスタンスも無効にする必要があります。

override func viewWillAppear() {
    super.viewWillAppear()

    self.navigationController?.interactivePopGestureRecognizer?.enabled = false
}

これは私にとってトリックでした。

于 2015-11-10T19:20:41.520 に答える
0

SplitViewタイプのアプリケーションのコード

横向きモードでジェスチャーを無効にしたい場合は、以下のコードを使用してください。

ステップ-1detailView.hに#AppDelegate.hをインポートします

ステップ-2このメソッドをdetailView.hに実装します

- (BOOL)splitViewController:(UISplitViewController *)svc
   shouldHideViewController:(UIViewController *)vc
          inOrientation:(UIInterfaceOrientation)orientation
{
    AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
    appDelegate.splitViewController.presentsWithGesture = NO;

    return YES;
}
于 2012-12-05T09:24:59.480 に答える
0

presentsWithGestureAppDelegateでのみ変更できるようです。

私の解決策は、それを無効にして、制御できるUISWipeGestureRecognizerを追加することでした。

于 2012-12-05T18:19:47.907 に答える
0

このコードを詳細ビューコントローラー(UISplitViewControllerDelegateである必要があります)に追加して、分割ビューコントローラープロパティpresentsWithGestureをNoに設定します。

- (BOOL)splitViewController: (UISplitViewController *) svc
   shouldHideViewController: (UIViewController *) vc
              inOrientation: (UIInterfaceOrientation) orientation
{
   svc.presentsWithGesture = NO;

   return YES;
}
于 2014-02-28T18:35:55.673 に答える