2012-04-17 6 views
0

私はテーブルビューを持っています。カスタムセルでは、タップしたときにテキスト上にハイライトされた色が設定されています。カスタムテーブルビューとハイライトされたテキストカラー

//細胞特異的

NSString *ligneTableau = [NSString stringWithFormat:@"%@", [[table objectAtIndex:indexPath.row] nome]]; 
cell.label.text = ligneTableau; 
cell.label.font = [UIFont fontWithName:@"populaire" size:35]; 
cell.label.textColor = [UIColor colorWithRed:124.0f/255.0f green:153.0f/255.0f blue:106.0f/255.0f alpha:1.0f]; 
cell.fondo.image = [UIImage imageNamed: @"cell_ant.png"];  

//highlighted Text 

cell.label.highlightedTextColor = [UIColor colorWithRed:55.0f/255.0f green:70.0f/255.0f blue:48.0f/255.0f alpha:1.0f]; 

は、すべての物事はうまく動作しますが、テーブルに戻ってきたときに、テキスト滞在を強調しました。

私は何かを忘れていますか?

答えて

0

おそらく、表に戻ると、セルは選択されたままです。だからテーブルに戻ってすぐにあなたは選択を解除する必要があります。あなたのUpdatesTableViewCellクラスで

[cell setSelected:NO]; 
+0

おかげで、しかし、私は上でこれを置けば - (無効) が機能していないviewDidUnload ... – Acunamatata

+0

試してみます(void)viewDidDisappear:(BOOL)animated – mhunturk

+0

これは問題が別のものだと思っています。ここで宣言してカスタムセルを設定しました。 - (のUITableViewCell *)のtableView:(のUITableView *)のtableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {//フォンドtabella trasparente tableView.backgroundColor = [UIColor clearColor]。 静的NSString * CellIdentifier = @ "Cell"; UpdatesTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if(cell == nil){ NSArray * topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@ "UpdatesTableViewCell"オーナー:セルフ・オプション:なし]; – Acunamatata

0

は、次の方法を実装することができます:返信用

- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated { 
    [super setHighlighted:highlighted animated:animated]; 

    if (highlighted) 
     self.label.textColor = [UIColor colorWithRed:55.0f/255.0f green:70.0f/255.0f blue:48.0f/255.0f alpha:1.0f]; 
    else 
     self.label.textColor = [UIColor colorWithRed:124.0f/255.0f green:153.0f/255.0f blue:106.0f/255.0f alpha:1.0f]; 
} 

- (void)setSelected:(BOOL)selected animated:(BOOL)animated { 
    [super setSelected:selected animated:animated]; 

    if (selected) 
     self.label.textColor = [UIColor colorWithRed:55.0f/255.0f green:70.0f/255.0f blue:48.0f/255.0f alpha:1.0f]; 
    else 
     self.label.textColor = [UIColor colorWithRed:124.0f/255.0f green:153.0f/255.0f blue:106.0f/255.0f alpha:1.0f]; 
} 
+0

それは良いアイデアですが、問題があります、updatesTableviewcellは、より多くの1つのコントローラで使用されるクラスであり、ラベルの色を変更するたびに変化します。 – Acunamatata

+0

再利用可能なセルごとにそのクラスの新しいインスタンスを作成していますが、複数のビューコントローラで使用しているかどうかは関係ありません。上のコードを試しましたか?特定のビューコントローラでのみ発生させたい場合は、 'whichViewController'のような' UpdatesTableViewCell'に別の変数を追加して、 'cell.whichViewController = @" First ''をテーブルに挿入します。次に、あなたの 'UpdatesTableViewCell'クラスで、上記のメソッドの中で' [cell.whichViewController isEqualToString:@ "First"] 'をチェックします。 – sooper

+0

mmmm興味深い、私は理解している(私は非常に初心者です)、私は試してみましょう! – Acunamatata

関連する問題