iPhone tableview下拉菜单

时间:2012-06-27 19:34:52

标签: ios uitableview uiviewcontroller

我有一个带有表格视图的视图控制器和几个按钮。我想在这个视图的顶部添加一个额外的tableview(或者至少如果有人想成为我的朋友的话会是什么样子: - )):

TableViewPopdown

我不想只是将其添加为子视图(如herehere)在此输入链接描述,因为我不想检查我的tableview中使用的是哪个表视图委托和数据源方法。我宁愿使用单独的视图控制器。

我不想使用选择器,因为我需要显示列表中项目的一些信息。

使用相应的控制器创建视图没有问题,但是如何在当前视图的顶部添加它,只是隐藏它的一部分?

谢谢!

3 个答案:

答案 0 :(得分:2)

Apple有一个TableView示例代码,用于解决此问题。 https://developer.apple.com/library/ios/#samplecode/TableViewUpdates/Introduction/Intro.html%23//apple_ref/doc/uid/DTS40010139 以上URL是从Apple开发人员库下载示例代码的链接。 希望能帮助到你。

答案 1 :(得分:0)

对于您的应用程序来说,这可能过于简单了,但我发现当我不得不做类似的事情时它会有效。

您可以将此“下拉菜单”视图控制器的视图添加到整个应用程序的主UIWindow中。您也可以在窗口上添加UIGestureRecognizer。如果点击位于视图之外,请将其淡出并将其从视图层次结构中删除。

答案 2 :(得分:0)

最初我只是在我的tableview数据源中添加逻辑并将方法委托给两个tableviews之间的转发(如上面的Scott Bossak所建议的那样。但是我已经切换到在storyboard中构建我的两个视图并像往常一样添加它们的视图控制器。但是,为了呈现第二个表视图,我就像这样实现它:

SecondTableViewContriller *secondTVC = [self.storyboard instanciateViewControllerWithIdentifier:@"secondTVC"];

然后将其添加为子视图控制器:

[self addChildViewController: secondVC];
[secondVC didMoveToParentViewController:self];

然后我实现了一个协议,一旦选择了行,就将信息传递回父视图控制器。