Просмотр страниц с боковым меню (панель навигации)
Я использую https://github.com/romaonthego/REFrostedViewController в качестве контроллера бокового меню, проблема в том, что это меню будет отображаться из любой точки экрана, я хочу, чтобы оно было похоже на версию Android, которая появится только в том случае, если вы начнете смахивать с начала слева от экрана, если смахиваете из любой другой точки меню не появится.
Я хочу это, потому что у меня есть просмотрщик страниц внутри этого меню. Поскольку я новичок в IOS, я заглянул внутрь кода библиотеки и не нашел ни одной функции, определяющей начальную точку, а также попытался изменить сообщение panGestureRecognized, что оно не работает.
Поэтому я хотел бы предложить мне помощь или любую другую библиотеку, у которой есть опция.
1 ответ
Если вы следили за этой библиотекой, то я думаю, что вы также поместили этот код
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
}
}