「Mac アプリの日付表示って、案外まちまちですよね…」などと始めようとしていましたが、思ったより時間がかかってしまっているので、ここはサクッと。
PPMDateCell
ダウンロード:PPMDateCell.zip(69KB)
これは何?
- Mail.app の「受信日時」欄 と同様の動作をする、
NSCell
のサブクラス です。 - 「受信日時」欄の動作とは:
- 「今日」「昨日」という相対日付表示を行う。
- 日付と時刻を分けて表示する。
- 自分(セル)の幅に応じて、表示形式を省略したり、詳細にしたりする。
なぜ作った?
- Mac アプリの「日付欄」の表示形式はかなりまちまち、というか、あまりそこには力を入れていないものが多い。よって、なんとか日付は確認出来るけど、読みやすいかと聞かれれば、そうでないものが多いと思う。その点、Mail.app の日付表示は割と見やすいと思う。
- でも、慣れた人が作ればそんなに難しくなさそうだからか、あんまりこういうものが単品では公開されていない。(「てか、あるよ!?」という場合は教えてください)
使い方
PPMDateCell.m
や、デモアプリを参考にしてください。あるいは、この記事のコメント欄などで聞いてみてください。
ご注意
- 作者は Cocoa/Objective-C 初心者です(言い訳か)。初歩的なミスをしている/洗練されていない 可能性大です。ご了承ください。これはひどい/こうした方がいい、という所がありましたら、ぜひお教えください。
再配布等について
- 僕と、他の方に迷惑がかからない限り、クラス名を自分好みにする(?)なり、何なり、ご自由にどうぞ。
- ただし、もし改善を施された場合は、できるだけ教えてください。
- ちなみに、描画の部分はほとんど mkino さんのサンプルコード からいただいたものです。