Управление UISwitch перенесено в симулятор iPad 4.3 - PullRequest
1 голос
/ 11 декабря 2011

Я использую элемент управления UISwitch под iPad 5.0, и все работает отлично.Но если я запускаю приложение на iPad 4.3, этот элемент управления смещается влево.

enter image description here

В этом примере оба элемента управления имеют одинаковую маску автоматического изменения размера и режим содержимого.
Цель развертывания: 4.3
Базовый SDK 5.0

Кто-нибудь может объяснить мою проблему.

1 Ответ

1 голос
/ 11 декабря 2011

Ну, это не красиво ... оба UISwitch не имеют одинаковую ширину.
Я использую этот код, чтобы попробовать что-то:

CGRect aRect = self.mySwitch.frame;
aRect.origin.x = 20;
aRect.origin.y = 20;
self.mySwitch.frame = aRect;

И это дает мне правильное расположение воба симулятора.
Итак, это объясняет, но как это исправить без этого уродливого куска кода.


Это значения центра и происхождения, которые я получил в NSLog.

ipad iOS 5
LOG: Center of sw1 x == 60 : y == 33.50
LOG: Origin of sw1 x == 20 : y == 20.00
ipad iOS 4.3
LOG: Center of sw1 x == 52 : y == 33.50
LOG: Origin of sw1 x ==  5 : y == 20.00

Возможно, код от Apple написан так, чтобы приложение, которое было разработано до iOS 5, имело бы правильное отображение переключателя, но обратное неверно ...
Я надеюсь увидеть лучшее объяснение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...