2010-07-26 9 views
0

내 iPhone 앱에서 내 UITextFields에 문제가있어 다른 사용자가 이전에 보았 으면합니다.UITextField 편집 문제 - iPhone SDK

화면에 몇 개의 UITextField가 있습니다. 탭을하면 키보드가 표시됩니다. 내가 편집 갈 때 그러나, (돋보기를 얻기 위해 아래로 화면을 잡아), 그것은 좋은하지 않습니다

-(void)moveViewUpFromValue:(float)fromOldValue toNewValue:(float)toNewValue keep:(BOOL)keep { 

    CABasicAnimation *theAnimation; 
    theAnimation=[CABasicAnimation animationWithKeyPath:@"transform.translation.y"]; 
    theAnimation.duration=0.25; 
    theAnimation.repeatCount=1; 
    if(keep) { 
     [theAnimation setRemovedOnCompletion:NO]; 
     [theAnimation setFillMode:kCAFillModeForwards]; 
    } 
    theAnimation.fromValue=[NSNumber numberWithFloat:fromOldValue]; 
    theAnimation.toValue=[NSNumber numberWithFloat:toNewValue]; 
    [self.view.layer addAnimation:theAnimation forKey:@"animateLayer"]; 

} 

이 시각적으로, 작품이를 극복하기 위해, 나는 함께 이동보기 애니메이션 나타나다. 상호 작용은 이동하기 전에 위치에 유지됩니다.

여기에 어떤 일이 벌어 질 수 있으리라 생각합니다.

많은 감사, 브렛

답변

0

이 흥미로운 그런 일을 애니메이션하는 방법이 있지만 가장 일반적인 하나입니다.

실제로 뷰의 실제 위치가 아닌 뷰의 변형을 애니메이션으로 나타냅니다. 명백하게 돋보기는 변환에 순종하지 않습니다 (매우 논리적입니다. 달리 보이지 않으면 뻗어 있고 비뚤어집니다).

위치를 움직이게하려면 self.view.frame 또는 self.view.center (동일한 것으로 귀결됩니다). 또한 나는 보통 [UIView beginAnimations...] 등을 사용합니다. 그러나 접근 방식이 효과가 있다면 아마 괜찮을 것입니다.

뷰를했습니다
+0

그게 전부입니다. 무리 감사! 조금 더 살펴본 결과, [UIView beginAnimations ...]가 아마도 가장 좋은 방법 일 것입니다. – Brett

0

다른 장소에있는 것으로 보이지만, 실제로 그 위치를 변경하지 않은 때문에 등, 히트 테스트 같은 것들에 대한 이전 위치에서 효과적으로 아직도 내가 것

입니다 변형 대신보기의 중심에 애니메이션을 적용하여 시작하십시오. CABasicAnimation 대신 UIView 애니메이션 만 사용하면됩니다. 또한 애니메이션이 완료되면보기가 실제로 올바른 위치에있게되므로 예상대로 작동합니다.

관련 문제