如何实现"iPhone App Store"样式标签栏?

Kar*_*arl 1 iphone user-interface

我正在开发一个需要显示相当复杂信息的iPhone应用程序,我认为显示它的最佳方式是模仿Apple在iPhone的"App Store"应用程序中选择的UI布局.

如果您加载App Store应用程序并转到"前25个"选项卡,则底部将显示标准选项卡(普通iPhone标签栏)以及顶部包含"Top Paid"按钮的另一个标签栏, "顶级自由"和"顶级收入".

我正在试图弄清楚如何做这两个tabbar UI布局,但我在开发者文档中找不到任何关于"顶部标签栏"控件的内容.我已经尝试手动制作第二个UITabBar,但它不支持添加App Store应用程序中的按钮.

有谁知道如何实现这种事情?

Bol*_*ock 5

App Store应用程序中的顶级控件实际上是一个UISegmentedControl.您可以像创建其他大多数控件一样创建和设置其属性,并将您UINavigationBar的标题视图设置为分段控件.

一个快速的代码示例(这将进入导航控制器的viewDidLoad方法):

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc]
                                        initWithItems:[NSArray arrayWithObjects:@"One", @"Two", @"Three"]];

// Set the control style so it blends in with the navigation bar
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;

// Replace the usual title label with our segmented control
self.navigationItem.titleView = segmentedControl;

[segmentedControl release];
Run Code Online (Sandbox Code Playgroud)

这当然只是为了将分段控件添加到标题栏; 这取决于您希望分段控件执行的操作.