我有一个视图控制器,里面有一个表格视图和几个按钮。我想在这样的视图之上添加一个额外的表格视图(或者至少如果有人想成为我的朋友的话它会是什么样子:-)):
我不想将其添加为子视图(如此处或此处)在此处输入链接描述,因为我不想检查在我的 tableview 委托和数据源方法中使用了哪个表视图。我宁愿使用单独的视图控制器。
我不想使用选择器,因为我需要在列表中的项目中显示一些信息。
我用相应的控制器创建视图没有问题,但是如何将它添加到当前视图之上,只是隐藏它的一部分?
谢谢!
Apple 有一个处理此问题的 TableView 示例代码。https://developer.apple.com/library/ios/#samplecode/TableViewUpdates/Introduction/Intro.html%23//apple_ref/doc/uid/DTS40010139 上面的 URL 是从 Apple 开发者库下载示例代码的链接。希望能帮助到你。
这对于您的应用程序可能过于简单,但我发现当我不得不做类似的事情时它是有效的。
您可以将此“下拉菜单”视图控制器的视图添加到整个应用程序的主 UIWindow。您也可以在窗口上添加 UIGestureRecognizer。如果点击在视图之外,则使其消失并将其从视图层次结构中删除。
最初,我只是在我的 tableview 数据源和委托方法中添加了逻辑以在两个 tableviews 之间进行 destingwish (正如上面 Scott Bossak 所建议的那样。但我已经切换到在情节提要中构建我的两个视图并像往常一样添加它们的视图控制器。但是,要呈现第二个表格视图我像这样实例化它:
SecondTableViewContriller *secondTVC = [self.storyboard instanciateViewControllerWithIdentifier:@"secondTVC"];
然后将其添加为子视图控制器:
[self addChildViewController: secondVC];
[secondVC didMoveToParentViewController:self];
然后我实现了一个协议,一旦选择了一行,就将信息传递回父视图控制器。