Ответ 1
Это довольно просто. Во-первых, вам нужно создать контроллер вида, который находится под видимым. Вы можете отправить это представление на задний план следующим образом:
[self.view sendSubviewToBack:menuViewController.view];
Затем вы помещаете кнопку меню в левой части панели навигации и записываете вид обработчика следующим образом:
- (void)menuButtonPressed:(id)sender {
CGRect destination = self.navigationController.view.frame;
if (destination.origin.x > 0) {
destination.origin.x = 0;
} else {
destination.origin.x += 254.5;
}
[UIView animateWithDuration:0.25 animations:^{
self.navigationController.view.frame = destination;
} completion:^(BOOL finished) {
self.view.userInteractionEnabled = !(destination.origin.x > 0);
}];
}
Это общая идея. Возможно, вам придется изменить код, чтобы отразить иерархию вашего представления и т.д.