繁体   English   中英

iOS:在一个ViewController中映射和列表

[英]iOS: Map and list in one ViewController

我想将两个不同的视图(列表和地图)放入一个View Controller中。 用户可以通过按顶部的右键来更改视图。 两者都有搜索选项。 如果可能的话,我想将列表和地图分开。

我会感激一些提示如何制作它。

查看http://img201.imageshack.us/img201/1104/56044506.png

我建议你创建一个父类,它是UIViewController的子类,这个类的目的是处理搜索栏功能和来自数据源的任何常见委托回调。

从理论的角度来看,这个类将作为一个抽象类,意味着它只应该被子类化而不是直接初始化,但是因为这不可能在objective-c中强制执行,所以不要过于担心。

下一部分取决于你是否想要使用两个视图控制器作为列表和地图(在问题的最后你说你想要使用两个类......?)

然后,您可以创建两个UIViewControllers ,一个用于map,一个用于list,它们都将子类化上面提到的抽象类。 这将允许他们继承数据源委托回调和搜索栏功能。

或者您可以将两者合并为一个UIViewController ,它是上述抽象类的子类,在A'sa Dickens的答案中,您可以在一个xib文件中管理两个视图,并通过隐藏和显示,或添加和删除它们来交换它们。他们的超级视图。

希望这可以帮助。

在你的xib或storyboard中有2个视图1用于地图视图,1个用于列表视图,当他们点击其中一个按钮时,它隐藏其中一个视图并显示另一个隐藏属性

[listView setHidden:NO];

那是一个例子....

确保您有两个视图的引用,并且引用已链接。 这是一个不起眼的方法。 您也可以尝试选项卡视图控制器...但这更复杂

使用UITableView和MKMapView并将它们添加到同一内容视图中。 使用隐藏属性隐藏和取消隐藏视图,具体取决于用户单击的按钮。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM