如何将单个 UIToolbar 与多个不同的 UIViewController 一起使用?
我有一个简单的应用程序,有两个基本屏幕,一个 UIMapView 和一个 UITableView。我希望底部有一个带有几个按钮的工具栏和一个带有两个部分的 UISegmentedControl:“地图”和“表格”。 (布局类似于 iPhone 附带的 Google 地图应用程序。)当用户来回切换时,如何在呈现 UIMapView(带有 UIMapViewController)或 UITableView(带有 UITableViewController)时保持相同的工具栏分段控制?当然,我可以为两个不同的视图创建一个相同的工具栏并分别显示它们,但是有更好的方法吗?
I have a simple app with two basic screens, a UIMapView and a UITableView. I'd like to have a toolbar at the bottom with a couple of buttons and a UISegmentedControl with two segments: "Map" and "Table". (The layout is similar to the Google Maps app that ships with the iPhone.) How can I keep the same toolbar while presenting either the UIMapView (with a UIMapViewController) or the UITableView (with a UITableViewController) when the user switches back and forth on the segmented control? Of course, I can just create an identical toolbar for each of the two different views and display them separately, but is there a better way?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
编写一个 UIViewController 来管理 2 个 VC 并在 MKMapView 和 UITableView 之间进行转换,以响应分段控件。
首先在 Interface Builder 中为这个新 VC 设置笔尖:添加一个 UISegementedControl 和一个简单的 UIView (contentView)。
界面文件包含对 UI 元素和 2 个 VC 的引用以及响应分段控件的操作:
实现:
在
valueChanged
方法中,您替换当前视图并设置过渡动画。请注意,视图
firstVC.view
和secondVC.view
是在第一次访问每个 VC 的视图属性时创建的。Write a UIViewController that manages your 2 VC's and transitions between the MKMapView and UITableView in response to the segmented control.
First set up the nib for this new VC in Interface Builder: add an UISegementedControl and a simple UIView (contentView).
The interface file contains references to the UI Elements and to the 2 VC's + an action to respond to the segmented control:
Implementation:
In the
valueChanged
method you replace the current view and animate the transition.Note that the views
firstVC.view
andsecondVC.view
are created on first access of the view-property of each VC.您可以使用单个视图控制器,并将所有视图(UIMapView、UITableView 等)添加到您的视图中,并在单击分段控件时简单地显示/隐藏正确的视图,
使用这样一个没有很多视图的简单应用程序,您不应该有一个凌乱/聚集的视图控制器文件,可以轻松显示/隐藏这两个视图。
也许在视图之间切换时使用动画,这样看起来不错
you could use a single view controller, and add all of the views(UIMapView, UITableView, etc) to your view and simply show/hide the correct views upon clicking the segmented control
with such a simple app without many views, you shouldn't have a messy/clustered view controller file and can easily show/hide these 2 views.
perhaps use an animation between switching between views so it looks nice