UISegmentedControl setImage: Bug in iOS7

后端 未结 4 1759
死守一世寂寞
死守一世寂寞 2020-12-08 03:03

I have a UISegmentedControl in my app. As of iOS7 GM, the images I use are not showing up when run on iOS7 devices. Anyone else having this problem?

Here\'s what it

4条回答
  •  不思量自难忘°
    2020-12-08 03:52

    It could be useful to create a category:

    @interface UISegmentedControl (UISegmentedControlAdditions)
        -(void)setImageRenderingMode:(UIImageRenderingMode)renderingMode;
    @end    
    
    @implementation UISegmentedControl (UISegmentedControlAdditions)
        -(void)setImageRenderingMode:(UIImageRenderingMode)renderingMode {
            for (int index=0; index < [self numberOfSegments]; index++) {
                UIImage * image = [self imageForSegmentAtIndex:index];
                [self setImage:[image imageWithRenderingMode:renderingMode] forSegmentAtIndex:index];
            }
        }
    

    ... and just call

    if([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0)
        [colorSegmentedControl setImageRenderingMode:UIImageRenderingModeAlwaysOriginal];
    

提交回复
热议问题