我似乎无法获得礼物和乐趣。我需要能够根据显示的详细视图控制器打开和关闭它。
- (IBAction)disableGestures:(id)sender
{
AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
appDelegate.splitViewController.presentsWithGesture = NO;
NSLog(@"Disable Gestures!");
}
我已经整理了一个简单的项目(使用默认的UISplitViewController模板): http://www.filedropper.com/splitviewtest
这不是presentsWithGesture的预期用途吗?
答案 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;
}