5

そこで、XCode4.3.2でストーリーボードを使い始めました。私はMaster-Detailアプリケーション(iPad用のスプリットビューアプリケーション)から始めました。詳細ビュー(名前付きDetailVC)には、カスタムビューの配列を表示したビューがあります。

カスタムビュー(名前付きGridView)には、各カスタムビューのタップイベントを処理することになっているタップジェスチャレコグナイザーがあります。プッシュをタップするとGridView、View Controllerがいくつかの検索結果(名前付きSearchResultsVC)を表示します。

GridView別のnibファイルで作成され、ストーリーボードDetailVCSearchResultsVC存在する場合、宛先を使用してプッシュセグエを作成するにはどうすればよいSearchResultsVCですか?DetailVCとSearchResultsVCの間にセグエを作成しましたか?タップジェスチャが認識されたときに、GridViewクラス内からプログラムでこのセグエをトリガーできる方法はありますか????

4

1 に答える 1

7

タップを処理するメソッドでは、次を使用します。

[self performSegueWithIdentifier:@"yourSegueIdentifier" 送信者:self];

StoryBoard コントロールで、DetailVC から SearchResultVC にドラッグし、必要なセグエのタイプを選択します。属性インスペクターで上記のメソッドと同じセグエ識別子に名前を付けてください。

私は自分の答えを改善しようとします。私はそれを台無しにしました:

1) DetailVC.h で、次のように GridView のインスタンス変数を作成します

IBOutlet UIView * gridView;

また、このようにグリッド ビューの getter メソッドと IBAction を作成します

-(UIView *)gridView;
-(IBAction)myGridGotPressed:(id)sender;

2) DetailVC.m で、このようなメソッドを実装します

-(UIView *)gridView{
if(!gridView){
[[NSBundle mainBundle] loadNibNamed:@"GridView" owner:self options:nil];
}
return gridView;
}

また、このように IBAction を実装します

-(IBAction)myGridGotPressed:(id)sender{
[self performSegueWithIdentifier:@"yourSegueIdentifier" sender:self];
}

3) これを機能させるには、GridView の filesOwner クラスを DetailVC に変更し、アウトレットとアクションを通常どおり接続する必要があります。

それが役立つことを願っています。

于 2012-05-08T13:09:40.537 に答える