3

私には 2 つのクラスがあります。MasterViewこれはUIViewController私のTableViewを表示し、MyClassさまざまな理由でTableViewのデリゲートおよびデータソースとして機能します。DetailViewセルが選択されているときに、View Controller ( ) をプッシュする必要があります。MyClass からビューをプッシュするにはどうすればよいですか? これは私が本当に持っているすべてです:

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

if (!detailViewController) {
    detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
}

//Somehow push detailViewController
}
4

3 に答える 3

2

これを行うにはいくつかの方法があります。すでに権利にMasterview埋め込まれていると思いますUINavigationControllerか?

に参照を渡してアクセスし、Masteriew次を使用できます。

[masterView.navigationController pushViewController:detailViewController animated:YES];

Masterviewアプリのデリゲートになんらかの関係があり、それにアクセスしたい場合は、次の行も使用できます。

MainClass *appDelegate = (MainClass *)[[UIApplication sharedApplication] delegate];
于 2013-06-08T18:31:24.040 に答える
-1

ナビゲーション コントローラーを使用している場合は、次のメソッドを使用します。

[self.navigationController pushViewController:(UIViewController *)viewController animated:(BOOL)animated];
于 2013-06-08T18:28:58.207 に答える