Инициализация Objective-C (статический метод) вызывалась более одного раза?

У меня есть код, похожий на этот в Objective-C:

SubclassOfNSObject *GlobalVariableThatShouldNeverChange;

@implementation MyClass

+(void) initialize
{
    [super initialize];
    GlobalVariableThatShouldNeverChange = [[SubclassOfNSObject alloc] init];
    // Change more stuff with GlobalVariableThatShouldNeverChange
}

@end

У меня есть ссылки на это во всем коде, и указатель на это никогда не должен меняться, потому что я использую его везде в своем коде. Я построил простую концепцию доказательства здесь:

http://kentbrewster.com/android-scroller/scroller.html

... которая работает как шарм. Однако когда я пытаюсь добавить тег INPUT в свой заголовок, у меня возникают проблемы. В фокусе каждое устройство, которое я пробовал до сих пор, клонирует тег INPUT, присваивает ему бесконечный Z-индекс и перерисовывает его поверх старого тега. Клон находится примерно в правильном положении, но большая часть его родительского CSS (включая, конечно, position: fixed) игнорируется. Клонированный тег INPUT имеет неправильный размер и форму, и когда я прокручиваю текст страницы, он прокручивается вверх и за пределы экрана.

Когда это за кадром, начинается веселье. Иногда устройство заставляет прокручиваемую часть тела опускаться, чтобы клонированная заготовка снова была в поле зрения; иногда клавиатура уходит, хотя кажется, что видимое поле остается в фокусе; иногда клавиатуру нельзя закрыть, даже если пустое поле INPUT явно размыто. Вот пример, который вы можете запустить на своем устройстве Android 2.2, чтобы увидеть, что происходит:

http://kentbrewster.com/android-input-style-bug/

Ввод стиля: фокус пока не помог мне , и не было много различных попыток грубой силы прослушивать focus () и blur () с помощью JavaScript и делать правильные вещи с фокусом и клавиатурой.

Большое спасибо за вашу помощь,

- Kent

]

11
задан Kent Brewster 11 October 2010 в 23:38
поделиться