2011-09-12 4 views
0

안녕 친구에 위에서 표시하는 것은 내 문제가만들기 텍스트 필드가 나는 코드를 사용하고 애니메이션 방식으로 아이폰 SDK를

- (BOOL)textFieldShouldReturn:(UITextField *) sender 
{ 
    appDelegateObj.plogoImgView.hidden=NO; 

    [sender resignFirstResponder]; 

    if (verticalOffset!=0) 
    { 
     [self moveView: -verticalOffset]; 
     verticalOffset = 0; 
    } 

    return TRUE;  
} 

- (void)textFieldDidBeginEditing:(UITextField *)theTextField 

{ 
    appDelegateObj.plogoImgView.hidden=YES; 

    int wantedOffset; 

    if(theTextField.tag==10) 

     wantedOffset = theTextField.frame.origin.y - 50; 

    else 

    { 
     wantedOffset = theTextField.frame.origin.y - 150; 
    } 

    if (wantedOffset < 0) 
    { 
     wantedOffset = 0; 
    } 

    if (wantedOffset != verticalOffset) 
    { 
     [self moveView: wantedOffset - verticalOffset]; 
     verticalOffset = wantedOffset; 
    } 

} 
- (void)moveView:(int)offset 

{ 
    [UIView beginAnimations:nil context:NULL]; 

    [UIView setAnimationDuration:0.3]; 

    CGRect rect = self.view.frame; 

    rect.origin.y -= offset; 

    self.view.frame = rect; 

    [UIView commitAnimations]; 
} 

입니다 위의 코드가 작동되지만 장치보기는 메소드가 작동하지 않습니다라고 나타납니다 때마다 방법 작성하는보기가 나타납니다. 사전에

감사합니다 ..

답변

0

정말 귀하의 질문에서 모든 것을 얻을하지 않습니다,하지만 난 갈 줄 것입니다.

그래서 당신은 말 :

문제는 위의 코드가 작동하지만 장치에서보기 방법은이 말씀 해주십시오 나타납니다 뷰를 작성하는 방법을 작동하지 않는라고 나타납니다 때마다입니다.

코드가 본 튜토리얼에서 작동하는지 또는 시뮬레이터에서 작동하는지 기기에서 작동하지 않는 것입니까?

일부 애니메이션 코드는 시뮬레이터에서 작동하지만 기기에서는 작동하지 않는다는 것이 이상하게 보 인다. 그래서 나는 그다지 문제가되지 않는다.

당신은 viewWill에 대해 이야기하고 있습니다. 전화를 걸 수 없습니다. 네비게이션 컨트롤러를 사용하고 있습니까? 탐색 컨트롤러 기반 앱에서 viewWillAppear 메서드가 호출되지 않습니다.

원하는 키보드를 숨기고 표시하는 데 사용하는 방법도 조금 이상합니다. UITextField에 애니메이션을 적용하는 것에 대해 이야기하지만 전체보기를 움직이고 있습니까?

원하는 텍스트 필드 또는 적어도 하나의 인스턴스 변수에 대한 속성을 만들어서 어떤 방법 으로든 그 텍스트 필드를 활성화/비활성화 할 수있는 이유는 무엇입니까?

당신이 nivation 컨트롤러를 사용하는 경우 : 는 "moveTextFieldIn"같은 것을하는 방법을 만들고 호출 후 이전의 ViewController에 당신은 아마 이런 식으로 뭔가있을 것이다 :

UIViewController * nextViewController = [[UIViewController alloc] init]; 
[[self navigationController] pushViewController:nextViewController animated:YES]; 
[nextViewController release]; 

변경을 해당 이 :

UIViewController * nextViewController = [[UIViewController alloc] init]; 
[nextViewController moveTextFieldIn]; 
[[self navigationController] pushViewController:nextViewController animated:YES]; 
[nextViewController release]; 

또는 이와

(당신이 moveTextFieldIn를 작성하지 않는 경우) :

UIViewController * nextViewController = [[UIViewController alloc] init]; 
[nextViewController viewWillAppear]; 
[[self navigationController] pushViewController:nextViewController animated:YES]; 
[nextViewController release]; 

글쎄, 많은 추측이지만, 이것이 당신을 도울 것입니다! 당신이 코드 줄을 삭제 청결을 유지 할 수 있도록 표준 애니메이션 지속 시간이 0.3 ;-)

:

한 가지 더

관련 문제