【发布时间】:2025-01-05 18:20:02
【问题描述】:
由于我是 iPhone 开发的新手,我需要一些关于如何构建我的 xib 文件的建议,以便获得以下内容(本质上,它应该与 Google Places 应用程序非常相似)。
我需要一个 NavigationController 与:
- 具有搜索功能的地图。
- TableView 具有 搜索 功能(理想情况下,搜索应该在地图和 TableView 之间共享)。
- 一个视图显示所选项目的详细信息,无论源视图是什么(地图或表格)。
- 地图视图应该有一个按钮来显示列表视图,反之亦然。
我的疑问是,我必须在哪里筑巢?我有一个 NavigationController,其 View Controller 设置为另一个具有自己的 xib 的类,但我不知道如何继续。
我应该创建一个带有搜索栏的视图和另一个子视图来在地图和表格之间切换吗?还是最好有两个完整的视图,每个视图都有自己的搜索栏?
编辑 1
最后我决定实现如下结构:
- TabBarController
- LugaresNavController (UINavigationController)
- LugaresViewController (UIViewController)
- UISearch
- SubView (UIView)
- MapViewController (UIViewController)
- TableViewController (UITableViewController)
MapViewController 和 TableViewController 有自己的 xib 文件。我想要的是能够在它们之间切换到SubView,但我做不到。
我已将MapViewController 和TableViewController 文件的所有者分配给它们各自在xib 文件中的类,并且还指定了在对应于LugaresViewController 的xib 中它们表示的属性处加载哪个xib,这是它们的父母。
当我运行应用程序时,我能看到的只是带有导航栏和 UISearch 的 TabBar。 SubView 应该呈现地图或表格的框架显示为空白...
我在这里做错了什么?
【问题讨论】:
-
我会创建一个 TableViewController,一个带有 mapsubview 的 ViewController。他们每个人都有
@property (nonatomic, retain) NSString *searchString;,然后您可以从其他视图控制器中设置 -
MapViewController 和 TableViewController 是 SubView 的子项,上图不正确,还是我对结构的理解有误? SubView 是使用 XIB 创建的,还是以编程方式创建的? UIViews 在未实例化时出现空白,这是以编程方式创建视图的常见错误...
-
SubView、MapViewController和TableViewController都在 xib 中表示。它们不是SubView的子级,因为我不能将它们嵌套在界面上,它们只是出现在 xib 的根级别。
标签: iphone uitableview ios4 uinavigationcontroller mkmapview