Как избавиться от клавиатуры в симуляторе iphone? - PullRequest
0 голосов
/ 16 декабря 2011

Я делаю простое приложение для iphone, где у меня есть определенные текстовые поля одно под другим. проблема заключается в том, когда я добавляю данные в эти первые несколько полей с помощью клавиатуры в симуляторе, также выскакивает клавиатура, которую я не использую для набора текста, поскольку я все еще использую симулятор, а не телефон. Теперь я не могу вводить данные в текстовые поля, скрытые клавиатурой.

Извините, если мой вопрос глуп, может быть ярлык для этого, Но я новичок, и StackOverflow - мой единственный вариант возврата, когда я не могу что-то найти в поиске Google:)

Ответы [ 5 ]

0 голосов
/ 02 апреля 2015

Я использую следующий ответ для решения проблемы. Надеюсь, это действительно полезно для вас. Вы просто используете этот код в файле view controller.m

- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    [self animateTextField:textField up:YES];
}


- (void)textFieldDidEndEditing:(UITextField *)textField
{
    [self animateTextField:textField up:NO];
}
0 голосов
/ 24 января 2014

В качестве альтернативы вы можете добавить клавишу ВОЗВРАТА (DONE, GO ...) из инспектора атрибутов.

0 голосов
/ 16 декабря 2011

Просто добавьте textField Delegate .. И это его метод делегата

    - (BOOL)textFieldShouldReturn:(UITextField *)textField
    {
      ["your Textfiled object Name" resignFirstResponder];
    }

Установите все текстовые сообщения, как указано выше. Ваша клавиатура будет уволена. И я предлагаю сохранить ваши текстовые поля в Scrollview. Это вам поможет

0 голосов
/ 08 января 2013

Возможно, вы ищете что-то вроде «кнопки назад» в Android, которая в любом случае отключает клавиатуру на эмуляторе Android. В iOS Simulator у вас нет ярлыка или кнопки, которая работает так. Вы сможете отклонить клавиатуру с помощью кнопки возврата, но только если вы сначала подключили UITextFieldDelegate в своем коде. Используйте этот код , чтобы кнопка возврата работала.

0 голосов
/ 16 декабря 2011

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

Я использую это для перемещения вверх и вниз: с точки зрения загрузки,

{
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil];
 }

и следующие методы

- (void) keyboardWillShow: (NSNotification*) aNotification
{    
    int position = 0;


    if ([txtfld1 isFirstResponder])
        position = 120;
    else if ([txtfld2 isFirstResponder]) position = 120;
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3];
    CGRect rect = [[self view] frame];
    rect.origin.y -= position; 
    [[self view] setFrame: rect];
    [UIView commitAnimations];

}
- (void) keyboardWillHide: (NSNotification*) aNotification

{
    int position = 0;


    if ([txtfld1 isFirstResponder])
        position = 120;
    else if ([txtfld2 isFirstResponder]) position = 120;
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:0.3];
    CGRect rect = [[self view] frame];
    rect.origin.y += position; 
    [[self view] setFrame: rect];
    [UIView commitAnimations];
}
...