ネットを調べましたが、自分の状況に対する答えが見つかりませんでした。したがって、UITableCellViewのサブクラスがあります(Eメールアプリのセルと非常によく似たセルを作成しようとしています)。右側に青色で日付を表示したいラベルを追加しました。ここで、セルに触れると、青いハイライトでラベルが非表示になるため、ラベルの色を変更したいと思います。thouchesBegan、Canceled、Endedを実装しましたが、問題は、ある種の「ラグ」があり、セルは青いハイライトを取得しますが、ラベルは数ミリ秒後に色が変わることです。それを変える方法がわかりません。
これが私のコードの抜粋です:
#import "AnnouncementCell.h"
@implementation AnnouncementCell
@synthesize date;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
date=[[UILabel alloc] initWithFrame:CGRectMake(220, 13, 100, 22)];
date.textColor=[UIColor blueColor];
date.font=[UIFont fontWithName:@"Helvetica" size:14.0];
[self addSubview:date];
}
return self;
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
date.textColor=[UIColor whiteColor];
[super touchesBegan:touches withEvent:event];
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
date.textColor=[UIColor blueColor];
[super touchesEnded:touches withEvent:event];
}
-(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event {
date.textColor=[UIColor blueColor];
[super touchesCancelled:touches withEvent:event];
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end