2013-09-12 3 views
0

Я тестирую свое рабочее приложение на iOS7. Когда приложение запускается, он просит игрока войти в систему. Для сбора учетных данных я использую AlertView со стилем UIAlertViewStyleLoginAndPasswordInputUIAlertViewStyleLoginAndPasswordInput в iOS7

Он прекрасно смотрится в iOS6

enter image description here

но что-то странное происходит на iOS7

enter image description here

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

ответ

0

Как я уже экспериментировал с моей работой, когда я переносил свое приложение на iOS 7, есть некоторые изменения в пикселе. Приложение должно было быть переконфигурировано для того же самого. Я бы предложил настроить высоту диалоговых окон вручную для соответствия экрану.

P.S .: Я все еще изучаю фазу, поэтому избегаю, если я не прав в том, что я говорю, и дайте мне знать. Спасибо.

+0

Привет Killswitch. Я бы предпочел не менять высоту собственных представлений. Я попробую, но я думаю, что должен быть другой способ сделать это. – John

+0

Не очень хорошая идея ... пытаться изменить высоту. Вы можете сделать его выше, но Apple хмурится в подклассе UIAlertView. Единственное, что вы могли бы сделать ... создать свой собственный. Я видел один здесь, в stackoverflow, с контроллером, созданным для этого. Мне ... Мне это не нужно или хочется с этим покончить. Рано или поздно ... это может сломаться. Кодовая гниль - ужасная вещь! Пример: addSubview в AlertView. Вызывая много головных болей, я включил ... пока не использовал вышеупомянутый метод. –

0

Похоже, вы пытаетесь сделать заголовок или сообщение особой высотой. Устраните изменение высоты и позвольте системе автоматически создавать heigh.

Вы не отправили код, так что я просто догадываюсь.

Я только что изменил код моего предупреждения для iOS7, который намного проще, чем старый стиль. _PROMPT здесь свойство создана как UIAlertView

- (IBAction) addEntryTapped:(id)sender 
{ 
    [_editorTextView resignFirstResponder]; 
    [self saveTextChanges]; 
    [self dismissPopovers]; 
    _prompt = [[UIAlertView alloc] init]; 
    // change the UIAlertViewStyle to the one you need to use 
    _prompt.alertViewStyle = UIAlertViewStylePlainTextInput; 
    UITextField *text = [_prompt textFieldAtIndex:0]; 
    _textField = text; 
    [_prompt setDelegate:self]; 
    [_prompt setTitle:@"New Entry Title..."]; 
    [_prompt setMessage:@""]; 
    [_prompt addButtonWithTitle:@"Cancel"]; 
    [_prompt addButtonWithTitle:@"OK"]; 

    [_textField setPlaceholder:@"New Entry Title"]; 
    _textField.autocapitalizationType = UITextAutocapitalizationTypeWords; 
    _textField.autocorrectionType = UITextAutocorrectionTypeNo; 

    [_prompt show]; 

    // set cursor and show keyboard 
    [_textField becomeFirstResponder]; 
} 

The alert with the change John requested.

+0

Привет, Марк. Попробуйте изменить стиль UIAlterView с UIAlertViewStylePlainTextInput на UIAlertViewStyleLoginAndPasswordInput и сообщить мне, что вы видите. Используйте ландшафтную схему для просмотра! – John

+0

Я уже использую этот формат для моего входа в систему, с изменением, которое вы просили. Но я сделал это до самого кода выше, и он выходит так, как должен. –

+0

Является ли вид в ландшафтном режиме? Появилась ли клавиатура при появлении диалога или изначально скрыта? Извините за то, что вы много раз просили, но мне нужно понять, почему мой диалог «искажен», D – John

Смежные вопросы