2012-03-15 21 views
2

UITableViewCellでセルをタップすると、セルはデフォルトで青色に変わります。 どうすれば変更できますか? 別の色に変更したり、このサンプルでビルドしていますが、色を完全に取り除くことができます。 私はテーブルだけのテーブルを持っています、情報はセルにあり、押されたときにはどこにも導かれません。セルのテキストが読みにくいので、押すだけで青色に変わります。TableView、セルのデフォルトの青色を変更する方法

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

方法で

+0

が重複する可能性(HTTP [UITableViewCellのの青のハイライトの色を変更するには?]:// stackoverflowの。com/questions/2553746/how-to-change-the-blue-highlight-of-auableableviewcell) –

答えて

8

このコード

cell.selectionStyle = UITableViewCellSelectionStyleNone; 
+0

または同じエフェクトのインターフェイスビルダのスタイルを変更します。 – jrturton

+0

完璧に動作します、ありがとう –

1

プロパティselectedBackgroundViewを変更すると正しく、最も簡単な方法を追加します。私が選択色に変更するには、次のコードを使用します。

//セット選択色

UIView *myBackView = [[UIView alloc] initWithFrame:cell.frame]; 
myBackView.backgroundColor = [UIColor colorWithRed:1 green:1 blue:0.75 alpha:1]; 
cell.selectedBackgroundView = myBackView; 
[myBackView release]; 

またはuは、これを使用する可能性がありますが...ここで

は私が解決するために遭遇した最も効率的な方法ですこの問題は、(cell.textLabel.textおよび/またはcell.detailTextLabel.textを使用している場合、これは同様にテキストラベルの背景のホワイトカラーの世話をする)willDisplayCellデリゲートメソッドを使用します。

(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { ... } 
このデリゲートメソッドは、セルの色と呼ばれる

は、使用するときのような細胞ではなく、テーブルビューを介して制御されます。

(UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath { ... } 

だから、セルデリゲートメソッドの本体内に次のコードを追加しますセルの代替色を使用するか、関数呼び出しを使用してテーブルのすべてのセルを同じ色にします。

if (indexPath.row % 2) 
{ 
     [cell setBackgroundColor:[UIColor colorWithRed:.8 green:.8 blue:1 alpha:1]]; 
} 
else [cell setBackgroundColor:[UIColor clearColor]]; 
+0

私が欲しい色を設定したいのならば、完璧です。しかし、ここの私のサンプルでは、​​最初の答えの行は、色を取り除くのに十分でした。 cell.selectionStyle = UITableViewCellSelectionStyleNone; –

2

私によれば、uitableviewcellの選択スタイルを次のように変更できます。

  • これらはデフォルトスタイルです。

  • しかし、スタイルを変更したい場合は、次も使用します。第2の方法を使用して

    cell.backgroundColor = [UIColor colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha]; 
    
    cell.backgroundColor = [UIColor colorWithPatternImage:(UIImage *)image]; 
    

、あなたは背景色や画像を指定することができます。

選択したセルスタイルの場合は、これを使用できます。

cell.selectedBackgroundView = [[[UIImageView alloc] initWithImage:(UIImage *)image] autorelease]; 
+0

完璧、多くのありがとう –

0

は、セル選択 上のデフォルトの色を削除するには、次のコードを使用しますの

cell.selectionStyle = UITableViewCellSelectionStyleNone; 
関連する問題