Swiftワン・ピース・コード:UIWebViewを使う・・ヘッダー部分(縦書き用)
こんにちは、川上です。
WebViewで縦書き対応は、iOSのVer10.0以降が対応と思われます。
My実機の初版iPadminiは9.3以上にUpできなかったので、縦書きできませんでした(;;’)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | // MARK:+++++ HTML 縦書きヘッダーの設定 func makeTategakiHTMLHeader(_ htmStr: inout String,_ bgColor:String = "#ffffff" ) { htmStr += "<head>" htmStr += "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">" htmStr += "<meta http-equiv=\"Content-Style-Type\" content=\"text/css\">" //電話番号にリンクが自動で付くのを防ぐ方法 htmStr += "<meta name=\"format-detection\" content=\"telephone=no\">" // 拡大はするがユーザーがピンチで拡大や、スクロールができないようにする。 add ver1.2(1) htmStr += " <meta name=\'viewport\' content=\'width=device-width,user-scalable=no\' />" // アプリ側 webView.scalesPageToFit = true; // MARK:CSS(スタイルシート)入門のコードを組み込む htmStr += "<style type=\"text/css\">" htmStr += "<!--" // 縦書きにする htmStr += "body{" htmStr += " -ms-writing-mode: tb-rl;" htmStr += " writing-mode: vertical-rl;" htmStr += "}" htmStr += ".red_atr { border-bottom:solid 3px #ff0000;}" htmStr += ".green_atr { border-bottom:solid 3px #008000;}" htmStr += ".blue_atr { border-bottom:solid 3px #0000ff;}" htmStr += ".sample4 { border-bottom:solid 3px #ff0000;}" htmStr += ".darkgray_bkcolor {background-color:#0000ff;}" //使用時に編集する htmStr += "-->" htmStr += "</style>" htmStr += "</head>" htmStr += "<html> " htmStr += "<body bgcolor=" + bgColor + ">" } |
なので、記述形式は、先と同様で、
1 2 3 4 5 6 7 8 9 10 | var htmStr:String = "" //HTML 縦書きヘッダーの設定 makeTategakiHTMLHeader(&htmStr,"#000000") 本体 htmStr += "</html> </body>" //HTML EOF WebView.loadHTMLString(htmStr, baseURL:nil) |
ではでは。