Swiftの新機能。私は単純なUIを持っています:UIWebView
の上にUINavigationBar
を置き、右のボタンのボタン項目にメニューを表示するアクションを持たせることで、Webビューに別のページを表示できるようにします。 ; viewnav
のために私はMain.storyboard
に新たなダミーのビューを追加したり、既存のナビゲーションを使用してみましたスウィフトメニューが右のナビゲーションボタンに表示されません。
class ViewController: UIViewController {
@IBOutlet weak var webView: UIWebView!
@IBOutlet weak var menu: UIBarMenuItem!
@IBOutlet weak var viewnav: UIView!
override func viewDidLoad() {
super.viewDidLoad();
let url = URL(string:"about:blank")
let req = URLRequest(url:url!)
webView.loadRequest(req)
}
@obj func dummy(){
}
@IBAction func MenuShow(sender: UIBarButtonItem){
let menu = UIMenuController.shared
viewnav.becomeFirstResponder()
menu.setTargetRect(viewnav.frame, in:viewnav)
let dummy = UIMenuItem(title:"Dummy", action: #selector(dummy))
menu.menuItems = [dummy]
menu.setMenuVisible(true, animated: true)
//for test only; should move to menu item actions
let url = URL(string:"https://www.apple.com")
let req = URLRequest(url:url!)
webView.loadRequest(req)
}
}
(私はUIオブジェクトにWeb表示、バーのボタンが接続されている:
は、ビューコントローラがどのように見える表示しますどちらも同じ結果です)
結果のアプリケーションは空のページを表示し、メニューボタンを押すとアップルのホームページにジャンプして、上記のコードが期待通りに実行されます。しかし、メニューが表示されなかったので、上記のコードで何が間違っていますか?
は(そこthisのようないくつかの他のまねの質問がありますが、彼らは問題を解決していないようでした)