所以我有以下代码:
UISegmentedControl * segmentedCtrl = [[UISegmentedControl alloc] initWithFrame:CGRectMake(0, 0, 150, 35)];
[segmentedCtrl setTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"duck.png"]]];
[segmentedCtrl setSegmentedControlStyle:UISegmentedControlStyleBar];
这是我想要使用的鸭子形象:
任何人都想告诉我为什么它不起作用。我试过任何一种图像,但它不起作用。仅供参考我不想在我的分段控件中设置鸭背景。这只是为了说明使用colorWithPatternImage的setTint不适用于任何类型的图像。
答案 0 :(得分:0)
答案 1 :(得分:0)
UISegmentedControl
(我认为所有其他UIKit控件都不支持图案颜色作为淡色)。色调颜色基本上用于创建光泽渐变,并且必须以任意模式完全不同。
要自定义背景的外观,请改用setBackgroundImage:forState:barMetrics:
和setDividerImage:forLeftSegmentState:rightSegmentState:barMetrics:
(当然,使用适当的图像,模式不适合这些)。
答案 2 :(得分:0)
UISegmentedControl上的tintColor仅用作计算控件中使用的渐变的基础。你不可能有一个渐变图像,所以它只是使用它的一部分。听起来你需要的是UISegmentedControl的自定义子类。
答案 3 :(得分:0)
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:nil];
[segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"up_button.png"] atIndex:0 animated:YES];
[segmentedControl insertSegmentWithImage:[UIImage imageNamed:@"down_button.png"] atIndex:1 animated:YES];
答案 4 :(得分:-1)
首先通过在Photochop中打开图像来获取颜色的RGB值,然后使用该值。