UITableViewCellで標準メールアプリのような、未読バッジを使う方法

2018/03/23更新 カテゴリー:開発奮闘記 タグ: ,
  • このエントリーをはてなブックマークに追加

UITableViewでiPhone標準メールアプリのような未読のバッジを表示させる方法です。

SPONSOR

基本的には、テーブルでバッジを表示させるメソッドは用意されていませんので、自作することになります。が、ありがたいことに、既にオープンソースで公開されている「TDBadgedCell」があったので、これを組み込んでみます。

TDBadgedCell

ダウンロードしたソースのうち
TDBadgedCell.h
TDBadgedCell.m
がバッジを表示するプログラムファイルです。

この2つを自分のプロジェクトに追加し、実装ファイル内でTDBadgedCell.hをインポート。

そして、cellForRowAtIndexPath内で

    static NSString *CellIdentifier = @"Cell";

    TDBadgedCell *cell = [[[TDBadgedCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];

	cell.textLabel.text = テキストを入れます;
	cell.textLabel.font = [UIFont boldSystemFontOfSize:14];

	cell.detailTextLabel.text = 補足テキストを入れます;
	cell.detailTextLabel.font = [UIFont systemFontOfSize:13];

	cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
	cell.badgeString = [[contents objectAtIndex:indexPath.row] objectForKey:@"badge"];

	//バッジの色も変更できます
	if (indexPath.row == 1)
		cell.badgeColor = [UIColor colorWithRed:1.000 green:0.397 blue:0.419 alpha:1.000];

    return cell;

これで、バッジを実装することが出来ます。
ちなみに、バッジを表示させたくない行はcell.badgeString=nil;とします。

iPhoneアプリ開発のTips一覧はこちら

効率のいいiOSプログラミング習得法

独学でプログラミングをはじめてもう16年。
なかなか勉強が進まない人のために記事を書きました。

フリーランスエンジニアの稼ぎ方

  • このエントリーをはてなブックマークに追加
SPONSOR

PROFILE

プロフィール

入江 慎吾/サービス開発だけで生きていく
自分のサービスだけで自由に生きる。勢いで受託開発をすべてやめて、サービスだけ作って生きていくことを決めたフリーのエンジニア。得意を教えて副業にできるMENTAを開発中! (詳しいプロフィール)
WEBサービス・アプリ開発に役立つ情報をイリテクの入江がお届けします。プログラミング、UI/UXデザイン、SNS・ブログマーケティングなど、プロダクト開発だけで自由に生きていくための実践的な情報を配信しています。

PRODUCT

イリテクで開発したプロダクト

RELATION

関連する記事

SPONSOR

TAG

タグから記事をさがす