{"id":308,"date":"2016-10-01T08:51:00","date_gmt":"2016-09-30T23:51:00","guid":{"rendered":"http:\/\/blue-bear.jp\/kb\/?p=308"},"modified":"2017-12-29T21:52:07","modified_gmt":"2017-12-29T12:52:07","slug":"swift-uirefreshcontrol%e3%81%a7%e5%bc%95%e3%81%a3%e5%bc%b5%e3%81%a3%e3%81%a6%e6%9b%b4%e6%96%b0%e3%82%92%e5%ae%9f%e8%a3%85","status":"publish","type":"post","link":"https:\/\/blue-bear.jp\/kb\/swift-uirefreshcontrol%e3%81%a7%e5%bc%95%e3%81%a3%e5%bc%b5%e3%81%a3%e3%81%a6%e6%9b%b4%e6%96%b0%e3%82%92%e5%ae%9f%e8%a3%85\/","title":{"rendered":"[swift] UIRefreshControl\u3067\u5f15\u3063\u5f35\u3063\u3066\u66f4\u65b0\u3092\u5b9f\u88c5"},"content":{"rendered":"<h2>UIRefreshControl\u3067\u5f15\u3063\u5f35\u3063\u3066\u66f4\u65b0\u3092\u5b9f\u88c5<\/h2>\n<p>\u30b5\u30f3\u30d7\u30eb\u30b3\u30fc\u30c9\uff1a<\/p>\n<pre class=\"\">var refreshControl:UIRefreshControl!\r\n\r\n  override func viewDidLoad()\r\n    {\r\n        super.viewDidLoad()\r\n\r\n        self.refreshControl = UIRefreshControl()\r\n        self.refreshControl.attributedTitle = NSAttributedString(string: \"to update\") \/\/\u30a4\u30f3\u30b8\u30b1\u30fc\u30bf\u306e\u4e0b\u306b\u6587\u5b57\u3092\u633f\u5165\r\n        self.refreshControl.addTarget(self, action: \"reload\", forControlEvents: UIControlEvents.ValueChanged)\r\n        self.tableView.addSubview(refreshControl)\r\n    }\r\n\r\n   func reload()\r\n  {\r\n     \/\/ \u66f4\u65b0\u30b3\u30fc\u30c9(self.tableview.reloadData()\u306a\u3069)\r\n  }\r\n\r\n   func didReload()\r\n  {\r\n     refreshControl.endRefreshing() \/\/\u30a4\u30f3\u30b8\u30b1\u30fc\u30bf\u3092\u7d42\u4e86\u3059\u308b\r\n  }\r\n \r\n<\/pre>\n<h2>Swift4\u7248<\/h2>\n<p>Swift4\u3067\u306ftableView\u3084CollectionView\u306b\u6a5f\u80fd\u3068\u3057\u3066\u8ffd\u52a0\u3055\u308c\u3066\u3044\u308b<\/p>\n<h3>tableView<\/h3>\n<pre class=\"\">override func viewDidLoad() {\r\n super.viewDidLoad()\r\n \r\n tableView.dataSource = self\r\n tableView.delegate = self\r\n \r\n tableView.refreshControl = refreshControl\r\n refreshControl.addTarget(self, action: #selector(ViewController.refresh(sender:)), for: .valueChanged)\r\n \r\n }\r\n\r\n\r\n@objc func refresh(sender: UIRefreshControl) {\r\n  \/\/\u30ea\u30ed\u30fc\u30c9\u306a\u3069\u306e\u51e6\u7406\r\n }<\/pre>\n<p>\u8aad\u307f\u8fbc\u307f\u7d42\u4e86\u5f8c\u306b\u30a4\u30f3\u30b8\u30b1\u30fc\u30bf\u306a\u3069\u3092\u505c\u6b62\u3055\u305b\u305f\u3044\u5834\u5408\u306f\u3001\u8aad\u307f\u8fbc\u307f\u5b8c\u4e86\u7b87\u6240\u306b<\/p>\n<pre class=\"\">refreshControl.endRefreshing() \/\/\u30a4\u30f3\u30b8\u30b1\u30fc\u30bf\u3092\u7d42\u4e86\u3059\u308b<\/pre>\n<p>\u3092\u547c\u3073\u51fa\u3059\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3>CollectionView<\/h3>\n<pre class=\"\">override func viewDidLoad() {\r\n super.viewDidLoad()\r\n \r\n collectionView.delegate = self\r\n collectionView.dataSource = self\r\n \r\n collectionView.refreshControl = refreshControl\r\n refreshControl.addTarget(self, action: #selector(ViewController.refresh(sender:)), for: .valueChanged)\r\n \r\n }\r\n\r\n\r\n@objc func refresh(sender: UIRefreshControl) {\r\n  \/\/\u30ea\u30ed\u30fc\u30c9\u306a\u3069\u306e\u51e6\u7406\r\n }<\/pre>\n<p>\u8aad\u307f\u8fbc\u307f\u7d42\u4e86\u5f8c\u306b\u30a4\u30f3\u30b8\u30b1\u30fc\u30bf\u306a\u3069\u3092\u505c\u6b62\u3055\u305b\u305f\u3044\u5834\u5408\u306f\u3001\u8aad\u307f\u8fbc\u307f\u5b8c\u4e86\u7b87\u6240\u306b<\/p>\n<pre class=\"\">refreshControl.endRefreshing() \/\/\u30a4\u30f3\u30b8\u30b1\u30fc\u30bf\u3092\u7d42\u4e86\u3059\u308b<\/pre>\n<p>\u3092\u547c\u3073\u51fa\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>UIRefreshControl\u3067\u5f15\u3063\u5f35<\/p>\n","protected":false},"author":1,"featured_media":88,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/posts\/308"}],"collection":[{"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/comments?post=308"}],"version-history":[{"count":3,"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/posts\/308\/revisions"}],"predecessor-version":[{"id":1452,"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/posts\/308\/revisions\/1452"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/media\/88"}],"wp:attachment":[{"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/media?parent=308"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/categories?post=308"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blue-bear.jp\/kb\/wp-json\/wp\/v2\/tags?post=308"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}