0

基本的に私がやりたいことは、ストーリーボード上の複数の UIViewControllers に UIView を含めることです。uiview を含めることはできますが、UIView のセグエは機能しません。次のようなストーリーボードがあります。 ここに画像の説明を入力

2 つの UIViewControllersFirstSecond. そして、別の 2 つの UIViewControllersAとセグエBで接続された、分離された UITableViewController があります。

テーブルビューをビューにサブビューとして追加できましFirstたが、セルをタップしても次の画面またはSecondに移動しません。なぜうまくいかなかったのかはある程度わかりましたが、これを達成するための最良の方法はわかりません。AB

これを行う良い方法はありますか?ストーリーボードは初めてですが、しばらくiOSアプリを開発しています。

編集:

各ビューに tableViewController を追加する方法は次のとおりです。

self.tableViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"theTableViewController"];
[self.view addSubview:_tableViewController.tableView];

テーブル ビューのセルがタップされると、prepareForSegue:segue:sender が呼び出されますが、テーブル ビュー コントローラーは各ビュー コントローラーに単なるサブビューとして配置されているため、ナビゲーション コントローラーにはプッシュされません。

EDIT2:

ここにテストプロジェクトを投稿しました

4

2 に答える 2

1

試すことができる方法は 2 つあります。

1.テーブルビューセルと次のView Controllerの間にセグエを直接作成します。私が強調したいのは、以下の方法を試さない限り、テーブルビューまたはビューと次のビューコントローラーの間にセグエを作成しないという事実です。

2.このコードをテーブルビュー コントローラーに追加します。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if ([indexPath row]) {
        [self performSegueWithIdentifier:@"segueToB" sender:self];
    }else {
         [self performSegueWithIdentifier:@"segueToA" sender:self];
    }
}  
于 2012-08-16T06:35:04.430 に答える
0

サブビュー内でセグエを作成する方法をようやく見つけました。それは実際には非常に単純でした。View ControllerをメインView Controllerに「childViewControllers」として追加する必要があるようです

それ以外の

self.tableViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"theTableViewController"];

私はこれが好きでした:

[self addChildViewController:[self.storyboard instantiateViewControllerWithIdentifier:@"theTableViewController"];
[self.view addSubview:_tableViewController.tableView];

childViewController のセグエは期待どおりに機能します。助けてくれてありがとう。

于 2012-08-26T19:28:51.950 に答える