首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UISegmentedControl in iOS 7

UISegmentedControl in iOS 7
EN

Stack Overflow用户
提问于 2014-02-11 14:32:37
回答 1查看 196关注 0票数 0

我有一个带有两个分段控件的项目。他们都达到了iOS7.0。现在一个人不知道。我读过有关tintColor的问题,但我认为这是另一回事。

这两个控件都使用UIImages作为段。第一,所有的图像都显示正确。另一方面,我得到了所有的蓝色图像。

我是做错什么了还是这是个虫子?

以下是错误段的代码:

代码语言:javascript
复制
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];

虽然图像都是蓝色的,但片段的工作原理是预期的。

EN

回答 1

Stack Overflow用户

发布于 2014-02-12 03:14:53

多亏了this question,我制定了以下解决方案:

代码语言:javascript
复制
-(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;

我希望它能帮到别人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21704694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档