我希望创建一个类似于Maps应用程序的UI,只是为了尝试一些可能性和结束,并了解我对界面构建器的了解。
我目前正在努力辨别的是地图应用程序如何处理工具栏和导航控制器之间的交互以及模拟界面所需的UI元素。我猜测地图应用程序只有一个视图控制器,这样可以消除对导航控制器的需求,所以我不确定我目前是否正在使用正确的应用程序模板,但我稍后会再回到那个。
为了让您了解我要复制的内容,如果您在两个位置之间搜索路线然后点击路线,导航控制器将从以下位置更改:
到目前为止,这一切都很好,没有什么不同于我以前做过的事情。然而令我感到困惑的是导航控制器下方的半透明视图,其显示总距离和时间(或取决于搜索方法的其他信息)。什么是UI元素?它只是简单地固定在主视图上的工具栏吗?我如何将其添加到我的应用程序中,它是视图的一部分还是导航控制器的一部分?[清除]路线[取消]
为:
[编辑] {car |火车|走路[开始]
此外,以类似的方式...单击工具栏中的"Search"
段会在应用顶部显示搜索字段。这是在导航控制器中,还是在显示搜索字段时隐藏了导航控制器?再次,单击“方向”会显示搜索字段,但这次会显示一个额外的搜索字段和一个用于切换字段顺序的按钮。这是如何实现的?
我的术语不太好,所以如果我混淆了一些术语,请原谅。我只是试图掌握UI元素,因为我花了大部分时间学习OpenGL,所以这对我来说还是有点新鲜。如果有人可以指出地图应用程序中使用的正确UI元素,那将非常感谢!
非常感谢您阅读。
编辑:我uploaded an image来说明我在这个问题中查询的UI元素。
答案 0 :(得分:0)
我没有内幕消息,所以我在猜测我是怎么做的。
我将UIToolBar用于顶部和底部栏,而不是导航栏。您可以将工具栏放在任何位置,因为它们只是UIView的子类。
导航控制器下方的半透明视图可能只是地图视图顶部的自定义视图。再次,只是UIView的一个子类。
两个工具栏中的项目都会调用视图控制器中可以更改工具栏内容或隐藏或显示其他视图的方法。
例如,“搜索”按钮可能会调用showSearchToolbar:方法,而“方向”会调用showDirectionsToolBar:方法。这两种方法都只会更改顶部工具栏的内容,并隐藏或显示顶部工具栏下方的视图。
查看Apple的UICatalog示例代码,了解如何动态更改工具栏的内容。