我想将两个不同的视图(列表和地图)放入一个视图控制器中。用户可以通过按顶部的右键来更改视图。两者都有搜索选项。如果可能的话,我想将列表和地图的类分开。
我会很感激一些提示如何制作它。
我想将两个不同的视图(列表和地图)放入一个视图控制器中。用户可以通过按顶部的右键来更改视图。两者都有搜索选项。如果可能的话,我想将列表和地图的类分开。
我会很感激一些提示如何制作它。
我建议您创建一个作为 的子类的父类,该类UIViewController
的目的是处理搜索栏功能和来自数据源的任何常见委托回调。
从理论的角度来看,这个类将作为一个抽象类,这意味着它应该只被子类化而不是直接初始化,但由于这在objective-c中是不可能的,所以不要太担心这一点。
下一部分取决于您是否想为列表和地图使用两个视图控制器(在问题的最后,您说您想使用两个类......?)
然后,您可以创建两个UIViewControllers
,一个用于映射,一个用于列表,它们都将继承上述抽象类。这将允许他们继承数据源委托回调和搜索栏功能。
或者您可以将两者组合成一个UIViewController
子类,作为上述抽象类的子类,并且在A'sa Dickens的回答中,您可以在单个 xib 文件中管理两个视图,并通过隐藏和显示,或从它们的视图中添加和删除它们在它们之间进行交换超级视图。
希望这可以帮助。
在您的 xib 或情节提要中有 2 个视图 1 个用于地图视图,1 个用于列表视图,当他们单击其中一个按钮时,它会隐藏一个视图并显示另一个具有隐藏属性的视图
[listView setHidden:NO];
这是一个例子....
确保您对这两个视图都有引用,并且该引用已链接。这是一种晦涩难懂的方法。你也可以尝试一个标签视图控制器......但这更复杂
使用 UITableView 和 MKMapView 并将它们添加到相同的内容视图中。根据用户单击的按钮,使用 hidden 属性隐藏和取消隐藏视图。