Просмотр оповещений JEFF LAMARCHE с приглашением отключен в iOS4 - PullRequest
2 голосов
/ 14 июля 2010

Кто-нибудь знает, почему Alert View Джеффа Ламарша с классом подсказок выдает предупреждение, которое в основном находится за пределами экрана при использовании в iOS4?Весь код загружаемого проекта можно найти здесь:

http://iphonedevelopment.blogspot.com/2009/02/alert-view-with-prompt.html

Его пример проекта из коробки, в симуляторе 3.2 (работает как приложение iphone на ipad) появляетсяпо центру.Но в симуляторе 4.0, как на iPhone, так и на iPhone 4, он появляется очень высоко на экране и в основном за пределами экрана.Я еще не тестировал его на других ОС или на реальном устройстве.

Изменяя строку:

CGAffineTransform translate = CGAffineTransformMakeTranslation(0.0, 130.0); 

на:

CGAffineTransform translate = CGAffineTransformMakeTranslation(0.0, 0.0); 

, она правильно центрируется вэкран в iOS4, но тогда слишком мало на 3.2.Конечно, я мог бы настроить значение в зависимости от того, какое устройство или операционная система используется, но я бы предпочел знать, ПОЧЕМУ он выключен.

Ответы [ 3 ]

1 голос
/ 18 августа 2010

FWIW, у меня только что был этот обмен в Твиттере:

Я:

Только что наткнулся на AlertPrompt от @jeff_lamarche [ссылка удалена], выглядит отлично, но есть ли лучшес этого момента?

Джефф: http://twitter.com/jeff_lamarche/status/21449214776

Не использовать этот AlertPrompt - использует частный API.Лучше всего создать его в закадровом UIView, а затем использовать Core Animation, чтобы показать

1 голос
/ 14 июля 2010

Я размышляю, но в первую очередь перевод Affine выглядит как хак. , , предположительно UIAlertView от Apple перевел материал на -130 до IOS4.0, поэтому Ламарш добавил свой перевод, чтобы противостоять этому.

Затем в 4.0, если предположить [и это предположительно], что Apple исправила свой класс, код LaMarche больше не работает.

0 голосов
/ 03 февраля 2011

Вы можете сделать тест версии:

    if ([[[UIDevice currentDevice] systemVersion] floatValue] < 4.0) {
        CGAffineTransform translate = CGAffineTransformMakeTranslation(0.0, 130.0); 
        [self setTransform:translate];
    }

Приветствия

...