10

在我的 iPad 应用 Viewfinder ( iTunes Link ) 中,我正在尝试重新创建 UISegmentedControl 的外观,如 Keynote 的 Build In 弹出框的页脚所示:

基调

iPad HIG 建议使用底部对齐的 UIToolbar,但外观不正确。此屏幕截图显示黑色不透明,但没有一个标准样式与 Keynote 匹配。

取景器

任何有关重新创建 Keynote 外观的建议将不胜感激。如果您在 iPad 上没有 Keynote,您可以在地图的书签弹出框的页脚中看到相同的技术。

4

3 回答 3

18

您需要的是在您的顶部设置并toolbarItems正确配置它。考虑这样的事情:UIViewControllerUIPopover

        NSArray *segmentedItems = [NSArray arrayWithObjects:@"Bookmarks", @"Recents", @"Contacts", nil];
        UISegmentedControl *ctrl = [[UISegmentedControl alloc] initWithItems:segmentedItems];
        ctrl.segmentedControlStyle = UISegmentedControlStyleBar;
        ctrl.selectedSegmentIndex = 0;

        UIBarButtonItem *item = [[UIBarButtonItem alloc] initWithCustomView:ctrl];
        ctrl.frame = CGRectMake(0.0f, 5.0f, 320.0f, 30.0f);

        NSArray *theToolbarItems = [NSArray arrayWithObjects:item, nil];
        [self setToolbarItems:theToolbarItems];
        [ctrl release]; 
        [item release];

编辑:现在我明白了,只是不设置 tintColor,它将继承正确的颜色(无论它是什么)。下面的截图现在看起来与谷歌地图应用程序中的截图一模一样:

替代文字 http://www.memorylifter.com/services/dev/linklist/SCREENSHOT_TABBAT.png

于 2010-07-19T19:25:25.057 回答
1

我刚遇到这个问题。您需要将 UINavigationController 推入 UIPopover。然后,您的视图应包含在该导航控制器中。这将获得顶部栏(导航栏的格式很好)。我会假设底部栏遵循这个,但我没有测试过!

于 2010-09-24T17:35:33.977 回答
-1

看起来他们将分段控件放在 tableView 的页脚视图中。(第一张截图)。如果可能的话,我会尝试,否则你可能会处理 UIToolbar 的子类化和覆盖 drawRect: 以获得你想要的外观。

于 2010-07-19T19:05:11.080 回答