2016-09-03 7 views
2

ナビゲーションバーのボタンにポップアップするポップアップが1つあり、そのポップアップにテーブルビューが含まれています。 didSelectRowAtIndexPath tableviewの方法では、どのようにポストオーバーを無効にすることができますか?didSelectRowAtIndexPathの表示を無効にする

+0

あなたがポップアップをポップオーバー持っているコードを表示することができますか? –

+0

@NDoc http://www.ioscreator.com/tutorials/display-popovers-on-the-ipadコード – rva

答えて

2

[popoverController dismissPopoverAnimated:YES]; 

スウィフトのObj-C this:

含むコントローラでのObjective-C

、その上にこれを配置します。

@property (nonatomic,strong) UIPopoverController *popOver; 

//this is the content of the popover 
MyTableVC *tableVC = [self.storyboard instantiateViewControllerWithIdentifier:@"myTableView"]; 
//this is the navigation controller of your tableViewController 
UINavigationController *popNav = [[UINavigationController alloc] initWithRootViewController:tableVC]; 
//this is you popover 
self.popOver =[[UIPopoverController alloc] initWithContentViewController:popNav]; 

その後、あなたは、あなたからポップオーバーを作成したことのViewController、内部でそれを却下しなければなりませんこの場合、例えばpopNavです。

ですから、didSelectRowAtIndexPathメソッドでこのメソッドを呼び出す必要がありますMyTableVCクラスで:

[self dismissViewControllerAnimated:YES completion:nil]; 
+0

pedrouan ioscreator.com/tutorials/ display-popovers-on-the-ipad imはこのようなものを使用しています – rva

+0

私は@rvaを知っていて、私のソリューションはそれに適合しています。プロパティ(非原子的、強)を適用することを忘れないでください。UIPopoverController * popOver; – pedrouan

1

を使用でき

あなたはのtableViewは、そのポップオーバーの内側にあり、あなたのポップオーバーコントローラが同じようにインスタンス化されていることを意味している場合

popoverController.dismissPopoverAnimated(true) 
+0

のためにこれをチェックしました。それは他の方法では機能しませんでした。 – rva

関連する問題