UISplitViewController presentWithGesture不工作

时间:2012-12-05 02:10:17

标签: ios ipad uisplitviewcontroller

我似乎无法获得礼物和乐趣。我需要能够根据显示的详细视图控制器打开和关闭它。

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

    NSLog(@"Disable Gestures!");
}

我已经整理了一个简单的项目(使用默认的UISplitViewController模板): http://www.filedropper.com/splitviewtest

这不是presentsWithGesture的预期用途吗?

4 个答案:

答案 0 :(得分:1)

presentsWithGesture设置为NO(或false)后,您还应禁用主视图控制器和详细视图控制器中的interactivePopGestureRecognizer实例{/ 1}}:

UINavigationController

这对我有用。

答案 1 :(得分:0)

SplitView类型应用程序的代码

如果你想在横向模式下禁用手势,那么下面的代码将用于你的

步骤1在detailView.h中导入#AppDelegate.h

step-2在detailView.h中实现这个方法

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

    return YES;
}

答案 2 :(得分:0)

看起来你只能在AppDelegate中更改presentsWithGesture

我的解决方法是禁用它并添加一个我可以控制的UISWipeGestureRecognizer。

答案 3 :(得分:0)

通过将此代码添加到详细视图控制器(应该是UISplitViewControllerDelegate),将拆分视图控制器属性presentsWithGesture设置为No

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

   return YES;
}