Могу ли я сделать весь ящик активным с помощью MMdrawerController? - PullRequest
1 голос
/ 27 марта 2020

Я использую 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 находится в стороне от экрана (когда он закрыт).

...