У меня есть один UITextView, который находится в нижней части обзора.Когда пользователь нажимает на него, мне нужно анимировать просмотр на 150 пикселей вверх.Я использую:
- (void)textViewDidBeginEditing:(UITextView *)textView{
и
- (void)textViewDidEndEditing:(UITextView *)textView{
, чтобы сделать это.
На iOS5 все работает нормально.Но на iOS 4.3, когда представление анимировано, содержимое этого UITextView поднимается на несколько пикселей вверх.
Снимок экрана: http://cl.ly/1q3e0W2G1M000u1U3w1f
У кого-то были похожие проблемы?
Код:
- (void)textViewDidBeginEditing:(UITextView *)textView{
if([textView.text isEqualToString:@"Placeholder text"]){
textView.text = @"";
}
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:0.3];
[UIView setAnimationBeginsFromCurrentState:YES];
self.view.frame = CGRectMake(self.view.frame.origin.x, (self.view.frame.origin.y - 150.0), self.view.frame.size.width, self.view.frame.size.height);
[UIView commitAnimations];
}
- (void)textViewDidEndEditing:(UITextView *)textView{
if([textView.text isEqualToString:@""]){
textView.text = @"Placeholder text";
}
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDelegate:self];
[UIView setAnimationDuration:0.3];
[UIView setAnimationBeginsFromCurrentState:YES];
self.view.frame = CGRectMake(self.view.frame.origin.x, (self.view.frame.origin.y + 150.0), self.view.frame.size.width, self.view.frame.size.height);
[UIView commitAnimations];
}