1

tableview と detailview を含む splitviewcontroller があります。tablview関連の説明から選択されたアイテムは、detailviewに表示されます。

ユーザーがテーブルビューから任意のセルを選択すると、適切なビューが詳細ビューに読み込まれ、別の機能もあります。すべての詳細ビューには、ユーザーが次のビューに移動できる「次へ」ボタンがあります。これは、ユーザーが次のボタンを押したとき、および現在選択されているセル番号の場合を意味します。が 2 の場合、3 番目のセルが選択され、3 番目の詳細ビューが読み込まれます。私の問題は、iPad1 と iPad2 ですべてが非常にスムーズに動作することです。しかし、Retina ディスプレイ iPad3 では、最初のセルにいるときに [次へ] ボタンを押すと、2 番目のセルに移動し、その時点で関連する詳細ビューが表示され、最初のセルのテキストラベルが画像のように白くなりました。セル「場所」のタイトルも、正しく表示されている場合に表示されます。

画像

以下は、ユーザーが NEXT ボタンを押したときに使用したコードです。

NSIndexPath *ipath = [NSIndexPath indexPathForRow:MenuCustmerInfoRow inSection:MenuSection];

[rvc.tableView selectRowAtIndexPath:ipath
                 animated:NO
           scrollPosition:UITableViewScrollPositionNone];

この理由は何ですか?これは iPad 3 でのみ発生し、これはテーブルビューの最初のセルでのみ発生し、他のすべてのセルは正常に機能しています。
どんな助けでも大歓迎です!

ありがとう
ニール

4

1 に答える 1

0

Apple のバグを報告するつもりですが、ここに問題があります。選択を解除すると、テキスト ラベルの背景が白くなるので、これを行います。

-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    //forced clear color due to textlabel turning white after deselect
    [cell.textLabel setBackgroundColor:[UIColor clearColor]];
}
于 2012-08-09T13:51:13.120 に答える