UITextField, проигрывающий firstResponder, возвращается анимация/модификации структуры

Я использую следующий код, чтобы изменить тип телосложения, чтобы приспособить клавиатуру, показывающую/исчезновение:

- (void)moveCodeViewForKeyboard:(NSNotification*)aNotification up:(BOOL)up {
    NSDictionary* userInfo = [aNotification userInfo];
    NSTimeInterval animationDuration;
    UIViewAnimationCurve animationCurve;
    CGRect keyboardEndFrame;

    [[userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey] getValue:&animationCurve];
    [[userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] getValue:&animationDuration];
    [[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] getValue:&keyboardEndFrame];

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:animationDuration];
    [UIView setAnimationCurve:animationCurve];

    CGRect newFrame = codeView.frame;
    CGRect keyboardFrame = [self.view convertRect:keyboardEndFrame toView:nil];
    keyboardFrame.size.height += keyboardToolbar.frame.size.height;
    keyboardFrame.size.height += 10;
    newFrame.size.height -= keyboardFrame.size.height * (up?1:-1);
    codeView.frame = newFrame;

    [UIView commitAnimations];
}

Этот код повторяется для некоторых других подвзглядов, которые оживляют на клавиатуру, которая показать/скрыть быть.

Укол UITextField заставляет всю анимацию появиться правильно. Но если я тогда немедленно выявляю к UITextView, все элементы (UIToolbar, UITextView, UIWebView), который оживил, ранее возвращаются к их оригинальным структурам (положение и размер) и больше не будет оживлять. Если я отклоняю клавиатуру, в то время как UITextField - firstResponder, элементы возвращаются к оригинальной структуре, но оживят снова.

Очень причудливый...

Просто, потому что я думаю, что люди спросят:

- (void)textFieldDidEndEditing:(UITextField *)textField
{
    NSLog(@"textFieldDidEndEditing");
}

Заранее спасибо!

3
nl ja de
После игры с ним больше, похож на него, не так связан с анимацией, как это связано с изменением UIView (или подкласс) стоимость структуры (размер или местоположение). Должно быть некоторое урегулирование согласно родительскому представлению, которое не допускает постоянство... возможно?
добавлено автор Jason Pawlak, источник

1 ответы

Ваш проект собирается использовать авторасположение ? Если это - тогда ограничения, создаются автоматически для вас, в то время как вы используете Интерфейсного Строителя, и не достаточно просто изменить структуры компонентов больше, необходимо приспособить ограничения, которые вы имеете на тех компонентах. Вы обычно делаете это, связывая ограничения, чтобы IBOutlet свойства и изменить , постоянный собственность на них.

0
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

iOS Developers — русскоговорящее сообщество
iOS Developers — русскоговорящее сообщество
2 400 участник(ов)

Общаемся на темы, посвященным iOS-разработке, Swift, Objective-C, SDK, Rx, Cocoa и т.д.