現在、ホーム画面の表示コントローラと、ホーム画面の読み込み時にインスタンス化され、ハンバーガーアイコンをクリックして開くサイドバーメニュービューを含むアプリケーションをプログラミングしています。メニューの外をクリックするとメニューが閉じ、メニューを開くと無効になった通常の機能がホームビューに復元されるという機能を実装しようとしています。 viewDidLoad()
にUITapGestureRecognizer
をインスタンス化して、ユーザーがホームビューでタップしたときを検出しました。折りたたみ可能なサイドバーメニュー付きのUITapGestureRecognizer
let tapRecognizer:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(HomeViewController.handleTap(_:)))
self.tableView.addGestureRecognizer(tapRecognizer)
そして、ここでの実装です:
func handleTap(sender: UITapGestureRecognizer) {
if menu.isMenuOpen {
menu.showMenu(false)
self.tableView.allowsSelection = false
}
}
しかし、メニューをタップすると、メニューの外側をタップするだけで同じメニューを閉じます。また、タップジェスチャ認識機能は特定のタップを認識するだけなので、ホーム画面のすべてが常に無効になります。私はiOS 9.3でXCode 7.3を実行しています。画像: Home view controller with menu open
ええ、私は実際に同様のソリューションを使用して、最後の10分でそれを考え出したの下に実装します!しかし、助けてくれてありがとう! –