iPhone / iPad / iOS:棘手使用标签栏控制器

时间:2010-08-25 14:20:01

标签: iphone objective-c xcode ipad uitabbarcontroller

尝试在iPad上实施以下行为。

我有一个以地图为中心的应用程序,它使用标签栏界面。底部的标签允许用户在查看地图上标记的各种不同类型的点之间进行选择(例如,想到标签栏项目“食物”,“住宿”和“气体”,其中“ food“tab”显示该地区所有餐厅的列表视图,等等。

屏幕的上半部分应始终显示地图。屏幕的下半部分应由标签栏控制。但是,标签栏上需要有一个选项卡,可以使地图全屏显示(不覆盖标签栏本身,但覆盖其他所有内容)。

我的冲动是我需要的是一个始终覆盖整个屏幕的地图视图,然后是一个控制位于地图视图顶部的视图的标签栏控制器,然后当用户选择全屏地图选项卡,内容视图只是隐藏。但是我该怎么做呢?

谢谢!

1 个答案:

答案 0 :(得分:1)

我会说到使用标准UITabBarController几乎不可能。相反,您应该直接在界面中使用UITabBar,然后将项目的操作直接链接到根视图控制器。然后,该控制器应相应地布置内容区域。这可以通过给你的笔尖这样的结构很容易地完成:

- ViewController
- View
   - View // place contents here
   - TabBar
      - Item1 // link action to ViewController
      - ...

根据您希望解决方案的通用程度,您还可以实现自定义布局的UITabBarController的自定义子类。上面的解决方案是最简单的,可能需要最少的代码。