Я использую MMdrawerController
для проекта Objective-C
, и он хорошо работает, используя этот значок гамбургера на drawer
, чтобы вызвать его открытие и закрытие. Когда drawer
закрывается, он остается на краю правой стороны экрана, пока не будет снова открыт, нажав значок гамбургера. Теперь я бы хотел, чтобы весь drawer
можно было нажимать вместо значка, чтобы ящик открывался везде, где я нажимаю на него.
Есть ли прямой способ сделать это, потому что единственное, о чем я действительно могу думать, - это создать невидимую кнопку, где находится drawer
, и заставить ее запускать код открытия / закрытия.
Код для запуска ящика выглядит следующим образом:
[self.mm_drawerController toggleDrawerSide:MMDrawerSideLeft animated:YES completion:nil];
РЕДАКТИРОВАТЬ Я пытался использовать как touchesBegan
, так и UITapGestureRecognizer
вот так:
- (void)touchesEnded:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
NSLog(@"?PRESS");
}
и
UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped)];
[self.view addGestureRecognizer:recognizer];
-(void)tapped {
NSLog(@"?TAPPED");
}
Они срабатывают только тогда, когда drawer
уже открыт, и я нажимаю где-то в viewController
, но не срабатывает, когда drawer
находится в стороне от экрана (когда он закрыт).