のサブクラスで次のコードを使用して、UITableViewCell
選択されていないセルにドロップ シャドウを設定しています。UITableView
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated
{
[super setHighlighted:highlighted animated:animated];
[self applyLabelDropShadow:!highlighted];
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
[self applyLabelDropShadow:!selected];
}
- (void)applyLabelDropShadow:(BOOL)applyDropShadow
{
self.textLabel.shadowColor = applyDropShadow ? [UIColor whiteColor] : nil;
self.textLabel.shadowOffset = CGSizeMake(0, 1);
self.detailTextLabel.shadowColor = applyDropShadow ? [UIColor whiteColor] : nil;
self.detailTextLabel.shadowOffset = CGSizeMake(0, 1);
}
このコードは、 Mike Steadによる別のStackOverflow の質問からのもので、正常に動作します。
ただし、行が選択された状態から選択されていない状態に移動すると、detailTextLabel
シフトダウンがわずかに見られますが、これは望ましくありません。textLabel
これは、セル の場合には発生しません。
理由はありますか?