ios – SWRevealViewController在点击前视图时关闭后视图

前端之家收集整理的这篇文章主要介绍了ios – SWRevealViewController在点击前视图时关闭后视图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用SWRevealViewController来实现我的应用程序中的侧导航菜单.我想使它使得当后视图打开时,前视图不能与之互动,除非用户点击前视图,后视图将关闭,并且前视图可以再次进行交互.我有这两个SWRevealViewController委托方法,目前从前视图中删除交互.
  1. - (void)revealController:(SWRevealViewController *)revealController willMoveToPosition: (FrontViewPosition)position {
  2. if(position == FrontViewPositionLeft) {
  3. self.view.userInteractionEnabled = YES;
  4. } else {
  5. self.view.userInteractionEnabled = NO;
  6. }
  7. }
  8.  
  9. - (void)revealController:(SWRevealViewController *)revealController didMoveToPosition: (FrontViewPosition)position {
  10. if(position == FrontViewPositionLeft) {
  11. self.view.userInteractionEnabled = YES;
  12. } else {
  13. self.view.userInteractionEnabled = NO;
  14. }
  15. }

但是,当前视图被轻拍时,这并不会导致后视图关闭.任何帮助将不胜感激,谢谢!

解决方法

如果您使用SWIFT,您可以在frontViewController中执行此操作:
  1. override func viewDidLoad() {
  2. super.viewDidLoad()
  3.  
  4. if self.revealViewController() != nil {
  5.  
  6. self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
  7. self.view.addGestureRecognizer(self.revealViewController().tapGestureRecognizer())
  8. }
  9.  
  10. }

代码适用于TAP和PAN手势.

猜你在找的iOS相关文章