Изменение фонового поведения UITextField с iOS 4 на iOS 5 - PullRequest
8 голосов
/ 02 ноября 2011

В моем приложении у меня есть UITextField, который находится поверх фонового изображения.Под iOS 4 мне нужно было установить свойство backgroundColor в 'clearColor', чтобы оно выглядело правильно.Под iOS 4 текстовое поле выглядит следующим образом ...

enter image description here

Вот как я хочу, чтобы оно выглядело.Теперь, после обновления до Xcode 4.3 (iOS 5), когда я перезапущу тот же проект, окно выглядит следующим образом ...

enter image description here

Grrr.Поэтому под iOS 5 я изменил свойство backgroundColor на 'whiteColor', и оно работает нормально.Однако теперь, под iOS 4.x, коробка выглядит следующим образом ...

enter image description here

Обратите внимание на уродливые белые углы!Поэтому, пожалуйста, кто-нибудь может сказать мне, что я должен делать здесь, чтобы он выглядел нормально как под iOS 4, так и под iOS 5 (т.е. чтобы выглядело как первое изображение!).

Большое спасибо, Саймон

Ответы [ 3 ]

3 голосов
/ 17 апреля 2012

Я получил ту же проблему несколько дней назад. Чтобы решить эту проблему, я просто установил borderStyle и прокомментировал строку backgroundColor. Все просто отлично работает, как iOS4, так и iOS5.

//  textField.backgroundColor = [UIColor clearColor]; // just leave it, dont't set
textField.borderStyle = UITextBorderStyleRoundedRect;
2 голосов
/ 11 декабря 2011

Это то, что я сделал, чтобы решить эту проблему, вы можете проверить версию iOS, запущенную на устройстве, и выполнить соответствующую обработку, например,

float version = [[[UIDevice currentDevice]systemVersion]floatValue];
if(version < 5.0)
{
//user clear color
}else
{
//use white color
}

Надеюсь, это поможет вам.

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

Иногда вам может потребоваться перестроить ваш проект. Кроме того, попробуйте сделать это в совершенно новом проекте, чтобы увидеть, действительно ли это новое изменение в Xcode или это просто конкретный проект, который сузит кругозор. Если вы затем изолируете это от того, что что-то не так с вашим конкретным проектом, попробуйте и «сделайте это снова», чтобы увидеть, не щелкнет ли оно тогда. Но я вижу, вы решили это: =)

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