【发布时间】:2011-02-26 17:51:30
【问题描述】:
我正在尝试重新创建一个类似于应用商店的界面,使用导航栏,其下方有一个分段控件。我的控制器和所有相关视图都可以正常工作;我的问题是我想将分段控制器的颜色与苹果在商店中使用的颜色相匹配。我将如何实现这一目标?我已经尝试过 colorWithRed:green:blue:alpha 但收效甚微。谢谢。
【问题讨论】:
标签: iphone objective-c ios uisegmentedcontrol uicolor
我正在尝试重新创建一个类似于应用商店的界面,使用导航栏,其下方有一个分段控件。我的控制器和所有相关视图都可以正常工作;我的问题是我想将分段控制器的颜色与苹果在商店中使用的颜色相匹配。我将如何实现这一目标?我已经尝试过 colorWithRed:green:blue:alpha 但收效甚微。谢谢。
【问题讨论】:
标签: iphone objective-c ios uisegmentedcontrol uicolor
你可以使用:
[mySegmentedControl setSegmentedControlStyle:7];
但是,这可能会被 App Store 拒绝,尽管我听说过的应用程序完全可以通过,但你必须确保 iOS 的更新不会改变从 7 开始的数字。
或者,您将栏样式设置为UISegmentedControlStyleBar,并在其后面添加一个 UIImageView,并带有蓝色背景边缘的 1x44px 屏幕截图:
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentTitles];
[segmentedControl setFrame:CGRectMake(5, 7, self.view.bounds.size.width - 10, 30)];
[segmentedControl setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
[segmentedControl setSegmentedControlStyle:UISegmentedControlStyleBar];
UIImageView *backgroundOfSegmentedControl = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"segmentedControl7Background"]];
[backgroundOfSegmentedControl setFrame:CGRectMake(0, 0, self.view.bounds.size.width, 44)];
[backgroundOfSegmentedControl setAutoresizingMask:UIViewAutoresizingFlexibleWidth];
[self.view addSubview:backgroundOfSegmentedControl];
[self.view addSubview:segmentedControl];
结果不一样,但你不会注意到,除非你直接把它们放在一起比较。
【讨论】: