2 つの UIBArButton アイテムを含む UIToolbar があります。ツールバーは UITableViewCell 内にあり、ユーザーがセルを選択するとフェードインします。問題は、セルが強調表示されると、barButtonItems の強調表示も呼び出され、ユーザーが手動でボタンを 1 回タップするまで強調表示されたままになり、その後標準の強調表示に戻ることです。
UIBarButtonItems を手動でハイライト解除する方法はありますか?
setSelected:
以下に示すように、セルとsetHighlighted
メソッドのオーバーライドを試み、サブビューでも両方setSelected:
とsetHighlighted
を呼び出してみましたが、うまくいかないようです。Highlighted は 1 つの UIToolbarBackground と 2 つの UIToolbarTextButtons で呼び出されます。何か案は?
@implementation CustomCell
// I also tried doing this in setHighlighted: & setHighlighted:animated
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
for (UIView *view in self.toolbar.subviews)
{
if ([view respondsToSelector:@selector(setHighLighted:)])
{
[view performSelector:@selector(setHighLighted:) withObject:[NSNumber numberWithBool:NO]];
}
}
}
@end