在 didSelectRowAtIndexPath 上关闭 ios 中的弹出框
Posted
技术标签:
【中文标题】在 didSelectRowAtIndexPath 上关闭 ios 中的弹出框【英文标题】:dismiss popover in ios on didSelectRowAtIndexPath 【发布时间】:2016-09-03 09:24:02 【问题描述】:我有一个弹出框,它在导航栏按钮上弹出,并且该弹出框包含一个表格视图。
ios中如何在tableview的didSelectRowAtIndexPath
方法上关闭popover?
【问题讨论】:
你能在你弹出Popup的地方显示代码吗? @NDoc ioscreator.com/tutorials/display-popovers-on-the-ipad 检查此代码 【参考方案1】:如果您的意思是 tableView 在该弹出框内,并且您的弹出框控制器是这样实例化的:
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。
所以在你的 MyTableVC 类中你需要在 didSelectRowAtIndexPath 方法中调用这个方法:
[self dismissViewControllerAnimated:YES completion:nil];
【讨论】:
pedrouan ioscreator.com/tutorials/display-popovers-on-the-ipad 我正在使用类似这样的东西 我知道@rva,我的解决方案适合它。不要忘记应用属性(非原子,强) UIPopoverController *popOver;【参考方案2】:你可以使用
Obj-c
[popoverController dismissPopoverAnimated:YES];
斯威夫特
popoverController.dismissPopoverAnimated(true)
【讨论】:
以上是关于在 didSelectRowAtIndexPath 上关闭 ios 中的弹出框的主要内容,如果未能解决你的问题,请参考以下文章
tableView - didSelectRowAtIndexPath 未调用
在 didSelectRowAtIndexPath 中呈现缓慢的 ViewController
我可以麻烦UITableViewDelegate的didSelectRowAtIndexPath:吗?
在 didselectRowAtIndexPath 之后 UITableView 无法滚动底部