ラベル UITableView の投稿を表示しています。 すべての投稿を表示
ラベル UITableView の投稿を表示しています。 すべての投稿を表示

2014年4月27日日曜日

UITableViewのヘッダの背景色を変更する。

UITableViewを利用するとき、Viewを作るのは面倒だけど、背景色を変えたいという時が有ると思います。

そんな時はこのコード。


#pragma mark -
#pragma mark UITableViewDelegate method
- (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section
{
    if(section == 0)
    {
        [view setTintColor:[UIColor orangeColor]];
    }
    else if(section == 1)
    {
        [view setTintColor:[UIColor greenColor]];
    }
}

サンプルとはいえ、色合いが。。。

2014年2月15日土曜日

UITableViewの編集モードの「Delete」文字列の変更

UITableViewの編集モードの文字列が「Delete」なので変更したい時があります。

そんな時は「UITableViewDelegate」の「- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath」メソッドをいじります


    
//
// UITableViewDelegate
//
- (NSString *)tableView:(UITableView *)tableView titleForDeleteConfirmationButtonForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return @"削除";
}

こんな感じ

自動的に幅も変わります。

2013年12月30日月曜日

UITableViewでセル選択をしない様にする。

UITableViewでセル選択をしない様にする、、というか選択したすぐさま選択を解除する。

とりあえず、コードを見てみる。

    
//
// UITableViewDelegate
//
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    return ;
}

「didSelectRowAtIndexPath」は選択した時のdelegateメソッドですが、すぐさま「deselectRowAtIndexPath:indexPath」を利用して、選択解除状態にします。

これで、テーブルを利用した「単純なリスト」の作成が出来ます。
この方法を利用すると、いちいち位置替えをするのが楽になります。

2013年4月26日金曜日

UITableViewのセルの下線をシンプルにしたい

UITableViewをグループ表示(UITableViewStyleGrouped)で表示すると、セルになんか変な白いのが表示されます。
実はこれはセルの影という事なのですが、これをシンプルな1ラインにしたい事もあるかと思います。

デフォルトはこの様な表示








テーブルビューに以下の様な設定をすると、すっきりしたラインになります。

[tableView setSeparatorStyle:UITableViewCellSeparatorStyleSingleLine];

この様な感じ。

2013年4月2日火曜日

iOS6のUITableViewで背景色が変わらない

iOS5でUITableViewの背景処理を変更する場合、以下の様なコードで背景色を変更します。

[[self tableView] setBackgroundColor:[UIColor redColor]];


ですが、このコードではiOS6の背景色は変わりません。
以下の様にする必要があります。

[[self tableView] setBackgroundView:nil];
[[self tableView] setBackgroundColor:[UIColor redColor]];

一旦、背景ビューを nil にしてしまわないと、背景ビューの方が優先されてしまい、背景色の変更が表示されません。
おそらく、背景色を設定しているビューの上に、背景ビューを載せているのでしょう。

色変更をしたい場合ですから、ビューの方を nil にしても問題ありません。
iOS5でも特別エラーやワーニングも出ません。