Изменение фонового изображения с помощью UIswitch

Привет, я работаю над простым приложением, которое меняет фоновое изображение с помощью UISwitch.

Проблема в том, что на устройстве картинки в оригинальном размере. Поэтому я использую png 960 x 640, должно быть хорошо, но на устройстве они огромны.

Это то, что я использовал.

- (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"]];
    }
}

person Artem Waitforit Lippoth    schedule 17.04.2013    source источник
comment
Witaj на Stack Overflow, на странице вопросов и ответов (pytania i odpowiedzi). Nie widzę pytania. / Добро пожаловать на Stack Overflow, сайт вопросов и ответов (вопросы и ответы). Я не вижу вопроса.   -  person akashivskyy    schedule 18.04.2013


Ответы (1)


Убедитесь, что у вас есть два набора изображений.

latarka_4_on.png
latarka_4_off.png

для SD-разрешения (480 x 320). А также

[email protected]
[email protected]

для HD-разрешения (960 x 640)

Скорее всего, что-то пойдет не так, если у вас есть png без суффиксов @2x, но с разрешением retina.

person ssantos    schedule 17.04.2013
comment
Я тоже так думал в начале, я включил файлы @2x в ресурсы. Но все равно происходит то же самое. Спасибо за совет ;) - person Artem Waitforit Lippoth; 18.04.2013
comment
Ммм, а ваши изображения .png (без @2x) имеют размер 480x320? - person ssantos; 18.04.2013