我有一个带有两个分段控件的项目。他们都达到了iOS7.0。现在一个人不知道。我读过有关tintColor的问题,但我认为这是另一回事。
这两个控件都使用UIImages作为段。第一,所有的图像都显示正确。另一方面,我得到了所有的蓝色图像。
我是做错什么了还是这是个虫子?
以下是错误段的代码:
UISegmentedControl *colorControl = [[UISegmentedControl alloc] initWithItems:
[NSArray arrayWithObjects:
[UIImage imageNamed:@"White.png"],
[UIImage imageNamed:@"Red.png"],
[UIImage imageNamed:@"Yellow.png"],
[UIImage imageNamed:@"Green.png"],
[UIImage imageNamed:@"Blue.png"],
[UIImage imageNamed:@"Purple.png"],
[UIImage imageNamed:@"Black.png"], nil]];
CGRect frame = CGRectMake(rect.origin.x + kLeftMargin, rect.size.height - kPaletteHeight - kTopMargin, rect.size.width - (kLeftMargin + kRightMargin), kPaletteHeight );
colorControl.frame = frame;
// Add DoubleTap Color capability
gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(showMoreColors:)];
[gesture setNumberOfTapsRequired:2];
[colorControl addGestureRecognizer:gesture];
// When the user chooses a color, the method changeColor: is called.
[colorControl addTarget:self action:@selector(changeColor:) forControlEvents:UIControlEventValueChanged];
// Make sure the color of the color complements the black background
//colorControl.tintColor = [UIColor clearColor];
// Add the control to the window
[self.view addSubview:colorControl];虽然图像都是蓝色的,但片段的工作原理是预期的。
发布于 2014-02-12 03:14:53
多亏了this question,我制定了以下解决方案:
-(void) buildColorBar {
//NSLog(@"%s", __FUNCTION__);
UIImage *whiteImage = [UIImage imageNamed:@"White.png"];
UIImage *blackImage = [UIImage imageNamed:@"Black.png"];
UIImage *purpleImage = [UIImage imageNamed:@"Purple.png"];
UIImage *redImage = [UIImage imageNamed:@"Red.png"];
UIImage *blueImage = [UIImage imageNamed:@"Blue.png"];
UIImage *greenImage = [UIImage imageNamed:@"Green.png"];
UIImage *yellowImage = [UIImage imageNamed:@"Yellow.png"];
NSArray *colorArray = [[NSArray alloc] initWithObjects:
[whiteImage imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal],
[redImage imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal ],
[yellowImage imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal ],
[greenImage imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal ],
[blueImage imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal ],
[purpleImage imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal ],
[blackImage imageWithRenderingMode: UIImageRenderingModeAlwaysOriginal ], nil ];
UISegmentedControl *colorControl = [[UISegmentedControl alloc] initWithItems:colorArray];
CGRect frame = CGRectMake(rect.origin.x + kLeftMargin, rect.size.height - kPaletteHeight - kTopMargin, rect.size.width - (kLeftMargin + kRightMargin), kPaletteHeight );
colorControl.frame = frame;我希望它能帮到别人。
https://stackoverflow.com/questions/21704694
复制相似问题