0
SWRevealライブラリを使用してサイドメニューを作成しています。ユーザーがメニューバーをクリックするとサイドメニューが開き、フロントビューが無効になり、フロントビューが表示されます不透明度のある黒色。revealViewControllerデリゲートが機能しません
私は私のコード
import UIKit
class ViewController: UIViewController, SWRevealViewControllerDelegate {
@IBOutlet var menuBarBurger: UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
revealViewController().delegate = self
setupSideMenu()
}
func setupSideMenu() {
if revealViewController() != nil {
menuBarBurger.target = self.revealViewController()
menuBarBurger.action = #selector(SWRevealViewController.revealToggle(_:))
revealViewController().rearViewRevealWidth = 300
view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
}
}
// This is the part where the background will turn blur and so on.
func revealController(revealController: SWRevealViewController!, willMoveToPosition position: FrontViewPosition) {
let tagId = 8009
if revealController.frontViewPosition == FrontViewPosition.right {
let lock = self.view.viewWithTag(tagId)
UIView.animate(withDuration: 0.25, animations: {
lock?.alpha = 0
}, completion: {(finished: Bool) in
lock?.removeFromSuperview()
})
lock?.removeFromSuperview()
} else if revealController.frontViewPosition == FrontViewPosition.left {
let lock = UIView(frame: self.view.bounds)
lock.autoresizingMask = [.flexibleWidth, .flexibleHeight]
lock.tag = tagId
lock.alpha = 0
lock.backgroundColor = UIColor.black
lock.addGestureRecognizer(UITapGestureRecognizer(target: self.revealViewController(), action: #selector(SWRevealViewController.revealToggle(_:))))
self.view.addSubview(lock)
UIView.animate(withDuration: 0.5, animations: {
lock.alpha = 0.333
})
}
}
}
エミュレートしようとしていることを背面正面に
例を行くためにメニューバーガーバーを押す必要があり
ストーリーボード
タグID(念のため、あなたが求めている場合)
私は、同じデザインを達成するために、何をすべきか?
私はすでにその行を追加しましたが、うまくいかないようですが、デリゲートはトリガーさえしません。 – sinusGob
すでに質問が更新されました – sinusGob
'revealViewController()'のコードを共有できますか? – NSAdi