0

のカスタム サブクラスがありUITableViewCellます。UILabel次のように、の外観プロキシのいくつかの属性を設定して、セル内に含まれるラベルをカスタマイズしています。

[UILabel appearanceWhenContainedIn:[UITableViewCell class], nil].textColor = [UIColor blackColor];
[UILabel appearanceWhenContainedIn:[UITableViewCell class], nil].highlightedTextColor = [UIColor redColor];

UI でセルを選択すると、ラベルの色が期待どおりに変化し、コードは次のビュー コントローラーへのプッシュ セグエを実行します。ただし、この新しいView Controllerをポップしてカスタムの画面に戻ると、UITableViewCell次のようにコードでセルの選択を解除しても、強調表示されたテキストの色が残ります。

- (void)viewDidAppear:(BOOL)animated
{
    if ([self.tableView indexPathForSelectedRow]) {
        [self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];
    }
    [super viewDidAppear:animated];
}

これは iOS 7 のバグですか、それとも何か間違っていますか?

4

2 に答える 2