хорошо я работал с/на SWRevealViewController некоторое время так, что вам нужно, это добавить frontViewController в SWRevealViewControllerDelegate
, а затем реализует эту функцию
func revealController(revealController: SWRevealViewController!, willMoveToPosition position: FrontViewPosition)
вы будете уведомлены, когда frontViewController
идти влево или переднее положение
это Swift код
в вашем frontViewController вам нужно добавить
class FrontViewController: UIViewController, SWRevealViewControllerDelegate
{
override func viewDidLoad() {
super.viewDidLoad()
self.revealViewController().delegate = self;
}
// ВАШ КОД //
func revealController(revealController: SWRevealViewController!, willMoveToPosition position: FrontViewPosition) {
if(position == FrontViewPosition.Left)
{
self.view.userInteractionEnabled = true;
self.navigationController?.navigationBar.userInteractionEnabled = true;
}else
{
self.view.userInteractionEnabled = false;
self.navigationController?.navigationBar.userInteractionEnabled = false;
}
}
// EDITED
Это Objective код
class FrontViewController: UIViewController <SWRevealViewControllerDelegate>
C в viewDidLoad вам нужно добавить
- (void)viewDidLoad
{
[super viewDidLoad];
self.revealViewController.delegate = self;
}
// ВАШ КОД //
- (void)revealController:(SWRevealViewController *)revealController willMoveToPosition:(FrontViewPosition)position
{
if(position == FrontViewPositionLeft)
{
self.view.userInteractionEnabled = NO;
self.navigationController.navigationBar.userInteractionEnabled = NO;
}else{
self.view.userInteractionEnabled = YES;
self.navigationController.navigationBar.userInteractionEnabled = YES;
}
}
Я надеюсь, что это поможет вам
Здравствуйте еще раз @ user5432778 если мой ответ сделал решить вашу проблему вы можете пометить мой ответ, как принято , спасибо –
Эй, да, похоже, это сработает. Не могли бы вы помочь с объективной версией c? Благодаря! – user5432778
OK @ user5432778, я публикую версию Objective C за несколько минут –