랭귀지/SWIFT
Swift 3.0 SWRevealViewController 전면 뷰 컨트롤러의 뷰를 비활성화
유키공
2018. 4. 27. 09:17
Swift 3.0 SWRevealViewController : RearViewController의 뷰가 활성 상태 일 때 전면 뷰 컨트롤러의 뷰를 비활성화하는 방법
전면보기 컨트롤러 클래스 viewdidload ()override func viewDidLoad() {
super.viewDidLoad()
menuBtn.addTarget(self.revealViewController(), action: #selector(SWRevealViewController.revealToggle(_:)), for: .touchUpInside)
revealViewController().delegate = self
// Once time - See documented SWRevealViewController.h
revealViewController().tapGestureRecognizer()
revealViewController().panGestureRecognizer()
}
frontviewcontroller의 SWRevealviewcontroller에서이 델리게이트를 사용합니다.
func revealController(_ revealController: SWRevealViewController!, willMoveTo position: FrontViewPosition) {
if position == FrontViewPosition.right {
super.viewWillAppear(animated)
self.revealViewController().view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
self.revealViewController().frontViewController.revealViewController().tapGestureRecognizer()
self.revealViewController().frontViewController.view.isUserInteractionEnabled = false
}
else {
super.viewWillDisappear(animated)
self.revealViewController().frontViewController.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
self.revealViewController().frontViewController.view.isUserInteractionEnabled = true
}
}