お久しぶりです。ジャマです。
超久々のブログですががんばります!
ブログ書いてない間もobjective-Cについては
日々精進しているので新知識を披露していきます。
今回の題材はiphoneのSMSのチャット画面についてです。
iphoneでは簡単に実装しているので自作iphoneアプリで
実装してみました。
結構難しかったんで忘れないように作り方の流れ書いときます。
大まかな流れです。
①吹き出し用のview、MessageViewを作成
・MessageVIewには吹き出しに表示するmessageと日付のdateを持たせます。
・messageの長さから吹き出しの大きさと画像を変更します。
吹き出しの画像は以下5種類を使いました。
(1)huki1.png - messageが1行の時はこの画像
(2)huki2.png - messageが2行の時
(3)huki3_1.png - messageが3行以上の時、一番上
(4)huki3_2.png - messageが3行以上の時、真ん中
(5)huki3_3.png - messageが3行以上の時、一番下
3行以上の時は行数に応じて真ん中の画像を増やします。
これで吹き出しは完成です。
②吹き出しを配列にいれる。
①で作った吹き出しは生成するごとにmutablearrayに
ぶちこんでおきます。
③日付で吹き出しを並び替えます。
配列に入っている吹き出し画像は日付を持つことができます。
生成時にあらかじめ日付をいれておくとこれをもとに並び替えできます。
NSDateのcompare:とかバブルソート等を駆使すると日付ごとに
配列が並びかえれます。
④配列に入った吹き出しを順にスクロールビューに貼付けて行く。
吹き出しのsizeを加算して次の吹き出しのy座標の位置にします。
そうすることで吹き出しが順に表示されます。
だいたいこんな感じです。
出来上がりの画像はっと来ます。
なかなか困難な作業でした。
ソースも出さずかなりはしょってるので
わからないことあったら気軽に聞いて下さい。
超久々のブログですががんばります!
ブログ書いてない間もobjective-Cについては
日々精進しているので新知識を披露していきます。
今回の題材はiphoneのSMSのチャット画面についてです。
iphoneでは簡単に実装しているので自作iphoneアプリで
実装してみました。
結構難しかったんで忘れないように作り方の流れ書いときます。
大まかな流れです。
①吹き出し用のview、MessageViewを作成
・MessageVIewには吹き出しに表示するmessageと日付のdateを持たせます。
・messageの長さから吹き出しの大きさと画像を変更します。
吹き出しの画像は以下5種類を使いました。
(1)huki1.png - messageが1行の時はこの画像
(2)huki2.png - messageが2行の時
(3)huki3_1.png - messageが3行以上の時、一番上
(4)huki3_2.png - messageが3行以上の時、真ん中
(5)huki3_3.png - messageが3行以上の時、一番下
3行以上の時は行数に応じて真ん中の画像を増やします。
これで吹き出しは完成です。
②吹き出しを配列にいれる。
①で作った吹き出しは生成するごとにmutablearrayに
ぶちこんでおきます。
③日付で吹き出しを並び替えます。
配列に入っている吹き出し画像は日付を持つことができます。
生成時にあらかじめ日付をいれておくとこれをもとに並び替えできます。
NSDateのcompare:とかバブルソート等を駆使すると日付ごとに
配列が並びかえれます。
④配列に入った吹き出しを順にスクロールビューに貼付けて行く。
吹き出しのsizeを加算して次の吹き出しのy座標の位置にします。
そうすることで吹き出しが順に表示されます。
だいたいこんな感じです。
出来上がりの画像はっと来ます。
なかなか困難な作業でした。
ソースも出さずかなりはしょってるので
わからないことあったら気軽に聞いて下さい。