Въвеждане по време на анимация UITextView

Опитвам се да имам UITextView с променлива височина, който променя размера си, за да приспособи съдържанието си, но когато рамката се промени в анимацията за промяна на размера, едно или две натискания на клавиши не се улавят в UITextView. Продължителността на анимацията е 0,1 секунди и обикновено пропуска само една буква, когато пишете сравнително бързо. Въпреки това е много последователен в липсващите букви, когато се случи анимацията. Следният анимационен блок се появява в съобщението за делегиране на textViewDidChange:

[UIView animateWithDuration:0.1 animations:^{

    [textView setFrame:CGRectMake(...)];

}];

Търсих в Google и SO, но досега нищо не се появи. Някой друг срещал ли е това?


person Jacob    schedule 27.07.2011    source източник
comment
Защо не пробваш как изглежда без анимация? Може да не изглежда зле и като потребител бих заменил анимацията, за да не пропускате натискания на клавиши по всяко време.   -  person EmilioPelaez    schedule 28.07.2011


Отговори (1)


По подразбиране анимациите на UIView деактивират потребителското взаимодействие за анимиран изглед, така че вероятно (съжалявам, не мога да го тествам сега) изричното активиране на потребителското взаимодействие ще реши проблема ви:

[UIView animateWithDuration:0.1 
        delay:0.0
        options: UIViewAnimationOptionAllowUserInteraction
        animations:^{    
            [textView setFrame:CGRectMake(...)];
        }    
        completion:^(void){}];
person Vladimir    schedule 27.07.2011
comment
Благодаря, Владимир, за невероятно бързия отговор. Това работи прекрасно. - person Jacob; 28.07.2011