{"id":1206,"date":"2019-04-10T18:22:36","date_gmt":"2019-04-10T09:22:36","guid":{"rendered":"http:\/\/idealive.jp\/blog\/?p=1206"},"modified":"2019-04-10T18:22:36","modified_gmt":"2019-04-10T09:22:36","slug":"swift4-2-uibarbuttonitem%e3%81%ae%e3%83%87%e3%82%b6%e3%82%a4%e3%83%b3%e3%82%92%e5%a4%89%e3%81%88%e3%81%9a%e3%81%ab%e3%82%bf%e3%83%83%e3%83%97%e9%a0%98%e5%9f%9f%e3%82%92%e5%ba%83%e3%81%92%e3%82%8b","status":"publish","type":"post","link":"https:\/\/idealive.jp\/blog\/2019\/04\/10\/swift4-2-uibarbuttonitem%e3%81%ae%e3%83%87%e3%82%b6%e3%82%a4%e3%83%b3%e3%82%92%e5%a4%89%e3%81%88%e3%81%9a%e3%81%ab%e3%82%bf%e3%83%83%e3%83%97%e9%a0%98%e5%9f%9f%e3%82%92%e5%ba%83%e3%81%92%e3%82%8b\/","title":{"rendered":"Swift4.2 &#8211; UIBarButtonItem\u306e\u30c7\u30b6\u30a4\u30f3\u3092\u5909\u3048\u305a\u306b\u30bf\u30c3\u30d7\u9818\u57df\u3092\u5e83\u3052\u308b"},"content":{"rendered":"<p>\u3053\u3093\u3070\u3093\u306f sohnishi \u3067\u3059\u3002<\/p>\n<p>\u306a\u3093\u304bUINavigationBar\u306e\u30b5\u30a4\u30ba\u611f\u304c\u304a\u304b\u3057\u304f\u306a\u3063\u3066\u308b\u3088\u3046\u306a\u6c17\u304c\u3059\u308b\u3053\u306e\u9803\u3067\u3059\u3002<\/p>\n<p>\u30bf\u30c3\u30d7\u9818\u57df\u3092insets\u306e\u8a2d\u5b9a\u3060\u3051\u3067\u5909\u66f4\u3067\u304d\u306a\u304f\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u3002\u3002\u3002<\/p>\n<p>\u306a\u306e\u3067\u3001UITapGestureRecognizer\u3067\u5bfe\u5fdc\u3057\u3066\u307f\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"lang:default decode:true\">import UIKit\r\n\r\nclass HogeViewController: UIViewController {\r\n\r\n    var hogeBtn = UIButton()\r\n    var hogeBarButtonItem = UIBarButtonItem()\r\n    \r\n    var navBarTapGestureRecognizer: UITapGestureRecognizer!\r\n    \r\n    override func viewWillAppear(_ animated: Bool) {\r\n        super.viewWillAppear(animated)\r\n\r\n        self.navBarTapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(self.navBarTapGesture(gestureRecognizer:)))\r\n        self.navigationController?.navigationBar.addGestureRecognizer(self.navBarTapGestureRecognizer)\r\n        \r\n        hogeDisplay()\r\n    }\r\n    \r\n    \/\/ navbar tap event\r\n    @objc func navBarTapGesture(gestureRecognizer: UITapGestureRecognizer){\r\n        \r\n        let touchLocation = gestureRecognizer.location(in: self.view)\r\n        \/\/ \u5224\u5b9a\u9818\u57df\u3092\u62e1\u5927\r\n        let hogeBtnLocation = CGRect(x: hogeX - 10, y: hogeY - 10, width: hogeWidth + 10, height: hogeHeight + 10)\r\n        \r\n        if ((hogeBtnLocation.contains(touchLocation))) {\r\n            self.hogeTaped(sender: hogeBtn)\r\n        }\r\n    }\r\n\r\n    func hogeDisplay() {\r\n\r\n        hogeBtn = UIButton(type: .custom)\r\n        \r\n        hogeBtn.imageView?.contentMode = .scaleAspectFit\r\n        hogeBtn.frame = CGRect(x: 0, y: 0, width: 30, height: 30)\r\n        let hogeBtnImg:UIImage = UIImage(named:\"hoge\")!\r\n        hogeBtn.setBackgroundImage(hogeBtnImg, for: .normal)\r\n        \r\n        hogeBarButtonItem = UIBarButtonItem(customView: hogeBtn)\r\n        hogeBarButtonItem.customView?.widthAnchor.constraint(equalToConstant: 30).isActive = true\r\n        hogeBarButtonItem.customView?.heightAnchor.constraint(equalToConstant: 30).isActive = true\r\n        \r\n        hogeBtn.addTarget(self, action: #selector(hogeTaped(sender:)), for: .touchUpInside)\r\n        \r\n        self.navigationItem.rightBarButtonItem = hogeBarButtonItem\r\n    }\r\n    \r\n    \r\n    @objc func hogeTaped(sender: Any) {\r\n        print(\"hogehoge...\")\r\n    }\r\n    \r\n}\r\n<\/pre>\n<p>\u305d\u308c\u3067\u306f\u307e\u305f\u301c<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u3053\u3093\u3070\u3093\u306f sohnishi \u3067\u3059\u3002 \u306a\u3093\u304bUINavigationBar\u306e\u30b5\u30a4\u30ba\u611f\u304c\u304a\u304b\u3057\u304f\u306a\u3063\u3066\u308b\u3088\u3046\u306a\u6c17\u304c\u3059\u308b\u3053\u306e\u9803\u3067\u3059\u3002 \u30bf\u30c3\u30d7\u9818\u57df\u3092insets\u306e\u8a2d\u5b9a\u3060\u3051\u3067\u5909\u66f4\u3067\u304d\u306a\u304f\u306a\u3063\u3066\u3044\u307e\u3057\u305f\u3002\u3002\u3002 \u306a\u306e\u3067\u3001UITapG&#8230;<a class=\"read-more-link button\" href=\"https:\/\/idealive.jp\/blog\/2019\/04\/10\/swift4-2-uibarbuttonitem%e3%81%ae%e3%83%87%e3%82%b6%e3%82%a4%e3%83%b3%e3%82%92%e5%a4%89%e3%81%88%e3%81%9a%e3%81%ab%e3%82%bf%e3%83%83%e3%83%97%e9%a0%98%e5%9f%9f%e3%82%92%e5%ba%83%e3%81%92%e3%82%8b\/\">\u7d9a\u304d\u3092\u8aad\u3080<\/a><\/p>\n","protected":false},"author":3,"featured_media":772,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22],"tags":[],"class_list":["post-1206","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-swift"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/posts\/1206"}],"collection":[{"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/comments?post=1206"}],"version-history":[{"count":1,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/posts\/1206\/revisions"}],"predecessor-version":[{"id":1207,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/posts\/1206\/revisions\/1207"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/media\/772"}],"wp:attachment":[{"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/media?parent=1206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/categories?post=1206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/idealive.jp\/blog\/wp-json\/wp\/v2\/tags?post=1206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}