使用UISwitch更改背景图像

时间:2013-04-17 21:40:00

标签: ios objective-c uiimage uiswitch

我正在开发一个简单的应用程序,它正在使用UISwitch更改背景图像。

问题是设备上的图片是原始尺寸。所以我使用960 x 640 png,应该没问题,但在设备上它们是巨大的。

这就是我正在使用的东西。

- (IBAction)changedState:(UISwitch*)sender
{
    UISwitch *switchValue = (UISwitch*)sender;
    [self setTorchOn:[switchValue isOn]];

    if(switchValue.on)
    {
       // lights on
       self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"latarka_4_on.png"]];
    }
    else
    {
       // lights off
       self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"latarka_4_off.png"]];
    }
}

1 个答案:

答案 0 :(得分:0)

确保您有两组图像.-

latarka_4_on.png
latarka_4_off.png

用于sd分辨率(480 x 320)。和

latarka_4_on@2x.png
latarka_4_off@2x.png

高清分辨率(960 x 640)

如果您的png没有后缀@2x但视网膜分辨率很高,那么可能会出现问题。