带侧面菜单的页面查看器(导航抽屉)
Page Viewer with Side Menu (Navigation drawer)
我正在使用 REFrostedViewController 作为侧边菜单控制器,问题是这个菜单会出现在屏幕的任何位置,我希望它像 Android 版本一样,只会出现如果您从屏幕左侧开始滑动,如果从任何其他点滑动,则不会出现菜单。
我想要这个,因为我在这个菜单中有一个页面查看器。
由于我是IOS的新人,我查看了库代码并没有找到任何定义起点的函数也尝试修改消息
panGestureRecognized 它没有工作。
所以我想向我推荐帮助或任何其他有此选项的图书馆。
如果你关注了这个库那么我想你也把这个代码放上去了
In ViewDidLoad
[self.view addGestureRecognizer:[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panGestureRecognized:)]];
And
- (void)panGestureRecognized:(UIPanGestureRecognizer *)sender
{
// Dismiss keyboard (optional)
//
[self.view endEditing:YES];
[self.frostedViewController.view endEditing:YES];
// Present the view controller
//
[self.frostedViewController panGestureRecognized:sender];
}
用下面的代码替换上面的代码。
Confirm UIGestureRecognizerDelegate Delegate protocol
@interface DEMONavigationController () <UIGestureRecognizerDelegate>
In ViewDidLoad
UIScreenEdgePanGestureRecognizer *leftEdgeGesture = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(handleLeftEdgeGesture:)];
leftEdgeGesture.edges = UIRectEdgeLeft;
leftEdgeGesture.delegate = self;
[self.view addGestureRecognizer:leftEdgeGesture];}
And
- (void)handleLeftEdgeGesture:(UIScreenEdgePanGestureRecognizer *)gesture {
if(UIGestureRecognizerStateBegan == gesture.state ||
UIGestureRecognizerStateChanged == gesture.state) {
[self.frostedViewController presentMenuViewController];
}else{
// DO nothing
}
}
我正在使用 REFrostedViewController 作为侧边菜单控制器,问题是这个菜单会出现在屏幕的任何位置,我希望它像 Android 版本一样,只会出现如果您从屏幕左侧开始滑动,如果从任何其他点滑动,则不会出现菜单。
我想要这个,因为我在这个菜单中有一个页面查看器。 由于我是IOS的新人,我查看了库代码并没有找到任何定义起点的函数也尝试修改消息 panGestureRecognized 它没有工作。
所以我想向我推荐帮助或任何其他有此选项的图书馆。
如果你关注了这个库那么我想你也把这个代码放上去了
In ViewDidLoad
[self.view addGestureRecognizer:[[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panGestureRecognized:)]];
And
- (void)panGestureRecognized:(UIPanGestureRecognizer *)sender
{
// Dismiss keyboard (optional)
//
[self.view endEditing:YES];
[self.frostedViewController.view endEditing:YES];
// Present the view controller
//
[self.frostedViewController panGestureRecognized:sender];
}
用下面的代码替换上面的代码。
Confirm UIGestureRecognizerDelegate Delegate protocol
@interface DEMONavigationController () <UIGestureRecognizerDelegate>
In ViewDidLoad
UIScreenEdgePanGestureRecognizer *leftEdgeGesture = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(handleLeftEdgeGesture:)];
leftEdgeGesture.edges = UIRectEdgeLeft;
leftEdgeGesture.delegate = self;
[self.view addGestureRecognizer:leftEdgeGesture];}
And
- (void)handleLeftEdgeGesture:(UIScreenEdgePanGestureRecognizer *)gesture {
if(UIGestureRecognizerStateBegan == gesture.state ||
UIGestureRecognizerStateChanged == gesture.state) {
[self.frostedViewController presentMenuViewController];
}else{
// DO nothing
}
}