2015-07-17 2 views
-2

При нажатии на текстовое поле txtAge, метод делегата вызывается, но анимация не выполняет:анимации в методе делегата UITextField не выполняет

-(void)textFieldDidBeginEditing:(UITextField *)textField { 

    NSLog(@"field Edited"); 
    if (textField.tag == 0) { 
     NSLog(@"IF Block "); 
     [UIPickerView beginAnimations:nil context:nil]; 
     [UIPickerView setAnimationDuration:0.3]; 
     PkrView .frame = CGRectMake(0, 450, 414, 215); 
    } 
    else 
    { 
     NSLog(@" else"); 
    } 
    return; } 

Можете ли вы понять, почему?

+2

Добро пожаловать в Facebook, не используйте Xcode тег для не Xcode IDE связанных вопросов. Не могли бы вы перефразировать свой вопрос? Вы определенно пропустили много вещей здесь. – Raptor

+1

Найдите время, чтобы прочитать [ask]. – dandan78

ответ

0

Вы пропустили commitAnimations звонок. Однако, приведенные в документации Apple о beginAnimations:

Использование этого метода не рекомендуется в iOS 4.0 и новее. Вы должны использовать методы анимации на основе блоков, чтобы вместо этого указать свои анимации.

Вы должны преобразовать анимацию, как следующее:

[UIPickerView animateWithDuration:0.3 animations:^{ 
    self.view.frame = CGRectMake(0, 450, 414, 215); 
} completion:^(BOOL finished){ 
    // optional, do something after animation completed 
}]; 
Смежные вопросы