基本業務の合間にちょこちょこと触り続けているswift。
前回から大した進歩ではありませんが、
フリックで進む・戻るを実装してみたいと思います。
目次
WebKitが良さげなのでそっちに移行
詳しい理由はわかりませんが、なんか良いらしいぞ!って事でWebKitを入れてみました。
フレームワークの実装方法はとても簡単。

Generalの下の方にLinked Frameworks and Librariesとありますので
「+」をクリックして、WebKitを選択、
あとは
import Webkit
でimportしてあげるだけです。
ステータスバーを隠そう
import UIKit
import WebKit
class ViewController: UIViewController, WKNavigationDelegate, WKUIDelegate {
var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
webView = WKWebView(frame: self.view.bounds)
webView.navigationDelegate = self
webView.UIDelegate = self
self.view.addSubview(webView)
webView.allowsBackForwardNavigationGestures = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)
let url = NSURL(string: "https://awe-some.net")
let request = NSURLRequest(URL: url!)
webView.loadRequest(request)
}
override func prefersStatusBarHidden() -> Bool {
return true
}
}
今回はこんな感じのコードで実装しました。
webView.allowsBackForwardNavigationGestures = true
の部分でフリックで戻る、進むの動作を実装する事ができます。
めっちゃ楽チンですね。
UIWebViewでしようとおもったら割と面倒だったのに。
そしてこのままビルドするとこんな感じに。

前回同様ステータスバーの下にViewが入り込んでいる形になります。
かぶっちゃうんですね。
改善方法としては
- TOPにマージンを持たせる
- ステータスバーを消しちゃう
のどちらかが考えられますが今回は消しちゃいます。
その消しちゃうコードがこちら
override func prefersStatusBarHidden() -> Bool {
return true
}
背景が黒すぎてわかりにくいですが、
しっかりとステータスバーが消えています。
これで、とりあえずはしたいことは実装できました。
次は何しようかなー。







