簡単にコードの行っていることを書いてみました、参考にしてください。
① NSDataのpublic init?(contentsOfFile path: String)というパスを指定して初期化するメソッド使用
※ 戻り値はNSData?型です(失敗してnilもあり得る)
※ 最後の『!』で強制的にnilでない状態にしています(nilの場合はアプリが落ちます)
② NSBundle.mainBundle() バンドルを取得する
※ NSBundleはアプリケーションのリソースをまとめて管理してくれる仕組みを提供するクラス
③ pathForResource("image",ofType:"gif")! バンドルに対してファイル「GIF名.gif」のパスを取得する
swift
1
2// NSData型のGifデータが取得できます
3let gifData = NSData(contentsOfFile: NSBundle.mainBundle().pathForResource("GIF名",ofType:"gif")!)!
① UIWebViewの init(frame: CGRect)というフレームサイズを指定して初期化するメソッドを使用
※ CGRectMake(X方向, Y方向, 幅, 高さ)
swift
1// UIWebViewを作成します
2let animationGifView = UIWebView(frame: CGRectMake(0,0,183,300))
① webViewのメソッド public func loadData(data: NSData, MIMEType: String, textEncodingName: String, baseURL: NSURL)を使用してコンテンツをWebViewにロードします
※引数は4つ
swift
1// webViewにコンテンツデータをロードします
2animationGifView.loadData(gifData, MIMEType: "image/gif", textEncodingName: "utf-8", baseURL: NSURL())
3
① self = UIViewControllerに乗っていviewプロパティのメソッド public func addSubview(view: UIView) を使用して引数のUIViewにWebViewを指定して追加(viewに乗せる)しています。
swift
1// animationGifViewをViewに追加
2self.view.addSubview(animationGifView)
そしてこれを使っていると、縦にスクロールしたり長押しすると、
吹き出しのようなものが出てきて拡大されます。
このコードがいけないのか、それとも他のコードと影響しているのかすら
いまいちよくわからないので、このコードの意味が知りたいです。
swift
1// スクロールするのはWebViewのsubViewにScrollViewが乗っているからなので、そのScrollviewのScrollEnableをfalseにするとスクロールは止まります。
2// UIWebViewのプロパティにscrollViewがあるのでそれに対してアクセスします
3
4// スクロール禁止
5animationGifView.scrollView.scrollEnabled = false
6
7// バウンス禁止
8animationGifView.scrollView.bounces = false
吹き出しのようなものが出てきて拡大されます。
こちらもWebViewの標準の機能です、長押しでコピーやペーストを表示する機能も同じです。
※ コピー等のメニューは消すことができたのですが、拡大の吹き出しは消す方法が分かりませんでした。
UIWebViewでテキストの矩形選択を無効化する方法
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/09 09:46