다소 이상한 문제가 있습니다. 나는 UITextField 있습니다. 이 TextField는 버튼을 누를 때 크기가 조절됩니다. 이를 위해 먼저 다음을 수행했습니다.UITextField가 bounds.size.width의 keyPath를 사용하여 CABasicAnimation 중에 잘리는 경우
CGRect newbounds = originalBounds;
newbounds.size.width = newbounds.size.width/2;
[UIView beginAnimations:nil context:nil];
self.textField2.bounds = newbounds;
[UIView commitAnimations];
쉽고 효과적입니다. 이제 애니메이션을 조금 더 제어하려고합니다.
CGRect newbounds = originalBounds;
newbounds.size.width = newbounds.size.width/2;
CABasicAnimation *animShrink = [CABasicAnimation animation];
animShrink.keyPath = @"bounds";
animShrink.toValue = [NSValue valueWithCGRect:newbounds];
animShrink.duration = 0.5;
animShrink.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
animShrink.delegate = self;
[self.textField2.layer addAnimation:animShrink forKey:@"shrink"];
그리고에서 볼 수 있듯이 나는 애니메이션 중에 클리핑 문제로 실행하면 즉 : http://coldstorage.macbonsai.com/public/cabasic_animation_clipping.png를 (I "필요 이후 최소 10 다음 사용 CABasicAnimation에 내가 다음 단계를 올라갈 것을해야 할 일 이미지를 게시하는 평판 "Stackoverflow 당).
CGRect newbounds = originalBounds;
newbounds.size.width = newbounds.size.width/2;
CABasicAnimation *animShrink = [CABasicAnimation animation];
animShrink.keyPath = @"bounds.size.width";
animShrink.fromValue = [NSNumber numberWithFloat:originalBounds.size.width];
animShrink.toValue = [NSNumber numberWithFloat:newbounds.size.width];
animShrink.duration = 0.5;
animShrink.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
animShrink.delegate = self;
[self.textField2.layer addAnimation:animShrink forKey:@"shrink"];
는 여전히 같은 문제가 발생했습니다
그래서 나는 애니메이션의 다음 버전을 시도했다. 이 시점에서 나는 UITextField에서 모든 제약 조건을 제거하고 두 CABasicAnimation 버전을 시도했습니다. 같은 문제. 이 시점에서 나는 뭘 해야할지 모르겠다. 어떤 도움이라도 대단히 감사하겠습니다.
미리 감사드립니다.
이 문제를 해결하기 위해 관리 했습니까? 정확히 같은 문제가 있습니다. –