寝る間際に、鏡の国のアリスというか、西洋のお伽話の様な幻聴が聞こえました。
人生初経験です。
きっと作業BGMとして聞いていたconnectの所為だな。
昨晩は、さすがに
良い子のみんな、
全力モードでの連続作業は程々にね!
閑話休題
さてさて、3日くらいかけて、CATextLayerを弄っていたのですが、
今回の作業は、タイトル名とアーティスト名の横幅の長さ調整です。
CATextLayerのエントリにもあるように、
フォントのサイズを縮めていくことで、
どんな長さが来ても、一定の幅に収めることはできるんですが、
文字の大きさが長さに反比例してしまいます。
とくにiPhone/iPodは画面がそれほど大きいわけではないので、
一定以上のタイトルや、複数人アーティストの場合は、
車載用途ではほとんど読み取れない。
という状況になってしまいます。これはマズイですね。
本題。
先日から弄っていたのは、タイトルとアーティストのCATextLayerの上に、
クリアバックグラウンド(背景透明)のCATextLayerを置いて、
CATextLayerの1段/2段切り替え表示
が出来るようにしていました。
そう、これがやりたかったんです。
ただ、2段にした場合は、
歌詞ウインドウと、先日作った大きいジャケットウインドウへ、
フォーメーション変更する場合
あと、先日実装した
次の曲へ移動する場合のアニメーション表示
すべて直さなければ、スムーズに繋がらなくなってしまうので、
楽曲ウインドウ周りを大工事していました。
以下
何気に、2行にするロジックに梃子摺りました。
洋楽、邦楽、アニソンジャンルによって、
曲のタイトル表記も色々で、
簡単には切らせてくれない。
()とかは良いんですが、~とか-は上手く切らないと、
特に曲名は~を使われることがたまにあるので、失敗する。
NSStringは検索すると一々NSRangeという範囲で返してくるので、
扱いにくい。
あとはアーティスト名が1人でなく、複数の場合は切っているのですが、
偶数人と奇数人で上下段の割り振りを変えなくてはなりません。これはデリミタを指定した上で、Arrayに突っ込んでから、
ObjectiveCの裏技で、小数点for文で解決。
良い子は真似しちゃダメだよ。
ここ数日CATextLayer
なんとか仲直りすることができた気がします。
余談ですが、曲表示関連のViewクラスのコードサイズが、
他のクラス全部足したより大きいくらいになってました。
76kByte、1616行か...
そろそろ、車載モニター系のビューを拡充しようと考えてますが、
デザインがイマイチ思いつかないのでもう少し保留かな。
きっと次回のエントリも、楽曲関連でお送りしマース。
0 件のコメント:
コメントを投稿