0

我想创建一个 UISegmentedControl,其样式类似于相机应用程序中的 flash 和 hdr 控件。(即黑色轮廓、黑色文字、磨砂半透明背景)

有什么建议吗?

谢谢,

4

2 回答 2

1

您可能想按照本教程http://www.raywenderlich.com/4344/user-interface-customization-in-ios-5了解如何使用您自己的资产自定义 UIKit 控件。

这个想法是您将使用UIAppearance并且必须为各种可能的状态(选择/未选择,左/右......)创建一些资产

于 2013-02-18T06:20:53.567 回答
0

@JP ...感谢您的回答。在此期间,我找到了一种方法。

我将分段控制器作为叠加层放置在地图上,以更改地图的样式(标准/卫星/混合),就像在谷歌地图中一样。注意背景颜色的细微变化——这是为了提高标准样式地图的可读性,这些地图的背景往往比基于卫星的图像要浅得多。

- (void) setMapSelectorColors:(UISegmentedControl *)control {
    NSDictionary *mapStyleSelectorTextAttributes = [NSDictionary dictionaryWithObject:[UIColor blackColor] forKey:UITextAttributeTextColor];

    [self.mapStyleSelector setTitleTextAttributes:mapStyleSelectorTextAttributes forState:UIControlStateNormal];

    if (control.selectedSegmentIndex == 0) {
        self.mapStyleSelector.tintColor = [UIColor lightGrayColor];
    } else {
        self.mapStyleSelector.tintColor = [UIColor whiteColor];
    }
}
于 2013-02-18T06:36:29.507 回答