1

テーブルビューの行を介して詳細ビューにジャンプしたい。

テーブルビューから詳細ビューにデータを渡すと、正常に機能します。indexpath.row を渡すことも正常に機能します。

詳細ビューでは、行のインデックスパスを変更でき、テーブルビューに戻ると、変更された行が正しく選択されます。

私の問題は、詳細ビューで新しく選択した行のデータを表示できないことです。

私がやろうとしていることを理解していただければ幸いです:)

たとえば、メールアプリのように、「次へ」ボタンを押して関連データを取得したい。

次の機能:

- (IBAction)nextRow:(id) sender {
NSLog(@"nextBtn");


TableRotateViewController *parent = (TableRotateViewController *)self.parentViewController;

NSIndexPath *actualIndexPath = detailselectedRow;
NSIndexPath * newIndexPath = [NSIndexPath indexPathForRow:actualIndexPath.row+1 inSection:actualIndexPath.section];


if([parent.view.subviews objectAtIndex:0]) {
    UIView * subview = (UIView *) [parent.view.subviews objectAtIndex:0];
    UITableView *tView = (UITableView *) subview;


    [tView selectRowAtIndexPath:newIndexPath animated:YES scrollPosition:UITableViewScrollPositionMiddle];
    [tView.delegate tableView:tView didSelectRowAtIndexPath:newIndexPath];
}
}

これは、私が行ったことをよりよく理解するための私のサンプルアプリケーションです

4

1 に答える 1

1

詳細ページで左ボタンまたは右ボタンをクリックしたときに、新しい詳細情報を表示しますか?

親ビュー クラス (TableView レイアウト) では、特定のオブジェクトを含む NSMutableArray を作成する必要があります (例: data1 、 data2 、data 3 などを含む "MailDetailObject" など)。

また、各 MailDetailObject に各詳細情報を保持し、それらを親ビュー クラスの NSMutableArray にまとめることができます。

そして今、didselectRowAtIndexPathtableView にいるとき、この NSMutableArray と tableView の現在のインデックスを DetailView に送信します (parentView から送信される参照オブジェクトのために DetailView でこのプロパティを作成することを忘れないでください)

detailView で(IBAction)nextRow Method、[次へ] をクリックすると、parentView から送信された NSMutableArray の次のインデックスとルックアップを参照し、表示する次のインデックス情報を取得できます。

それがあなたを助けることを願っています

于 2011-12-01T04:46:41.220 に答える