23512


タイトル通りなんですが、iOSのミュージックアプリの曲タイトルなどのように自動で横スクロールさせる方法を教えていただきたいです。


CC BY-SA 3.0
2016-03-27T09:19:06.603
23502
2016-04-02T04:59:55.033
13963
question
ios objective-c
テキストをオートスクロールさせたい


残念ながらiOSには、テキストを「自動で横スクロールさせる」ようなUI部品はないようです。

iOSのミュージックアプリでどのような方法がとられているかはわかりませんが、ご質問に書かれたようなことをやるために思いつくところを書いておきます。

(1) 「自動で」は諦めて、あなたのコードで全てコントロールする

コードでメインViewに貼り付けた子Viewの位置を変更するのは簡単ですし、UIScrollViewなんてものを使うこともできそうです。…と思ってコードを書きかけたのですが、思っていたより大変で、回答としては長すぎるのと、Swiftで書いてしまったので、掲載は控えておきます。

うまく探せばフリーのライブラリーなど見つかるかもしれません。

(2) WebViewを使ってmarquee系のタグを流し込む

UIWebViewを横に細長く貼り付けてIBOutletにしておいて、

[code]

        @IBOutlet weak var webView: UIWebView!
    
[/code]

それにmarquee系のタグを流し込めば、

[code]

            webView.loadHTMLString("<marquee>iOSのミュージックアプリの曲タイトルなどのように自動で横スクロールさせる方法を教えていただきたいです</marquee>", baseURL: nil)
    
[/code]

(とりあえずSwiftで動作確認したんで、Swiftのコード例で我慢してください。)  
簡単という意味ではこれが一番簡単でしょうか。`<marquee>`タグはHTML5だと非推奨だとか(iOS9.3のUIWebViewでもちゃんと横スクロールはしますが)、フォントや背景色などをいじろうと思うと流し込むHTML+CSSがやたらでかくなるとかはありますが。

(3) SKScene中にテキストスプライトを置いて流れるように移動させる

手間がかかる割にメリットが見当たらないですね。SKSceneの中だけで展開するゲームならやっているアプリもあるかもしれませんが、普通のアプリではやらないでしょう。


CC BY-SA 3.0
2016-03-27T14:38:19.427
23512
2016-03-27T21:38:25.927
2016-03-27T21:38:25.927
13972
13972
23502
answer