2012-08-29 6 views
1

현재로서는 'Did End On Exit'의 메소드를 트리거합니다 (내 앱에서이 메소드가 가장 좋은 방법은 아닐지도 모르겠지만, 그 문제에 대해 Objective C와 Xcode에 매우 익숙하지 않으며 나에게 편안함을 느끼고 있습니다.)Xcode - 텍스트 필드의 setFocus, becomeFirstResponder가 충분하지 않습니다.

이 방법은 현재 텍스트 필드에서 firstResponder을 사임하고 이후 텍스트 필드에 적용합니다.

문제 제가 직면 한 것은 키보드가 다음 텍스트 필드를 다루기 때문에 초점이 어디에 있는지 그리고 따라서 입력해야하는 내용을 알 수 없기 때문입니다.

내 키보드가 아래로 이동하고 실제로 활성화 된 텍스트 상자가 표시되도록하려면 어떻게해야합니까? firstResponder를 무언가로 만드는 것은 내가 실천하고있는 구현의 일부가 아니라면, 내가 원하는 것을하지 않는다. 어떤 조언이 슈퍼 영웅이 될 것

- (IBAction)firstNameNext:(id)sender { 
[firstNameTextField resignFirstResponder]; 
[surnameTextField becomeFirstResponder]; 
} 

:

여기 내 간단한 방법입니다.

답변

1

특정의 UITextField는 다음과 같이 그 위임을 사용하여보기에 표시 할 수 있어야 할 때 지금있는 UIScrollView

에 기본보기에 하위 뷰 등 모든 내용을있는 UIScrollView를 추가

참고 : .H에 UITextFieldDelegate를 추가 또한 파일의 소유자

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField; 
{ 
    if(textField == yourSpecficTextField) //one u want move upwards 
    { 
     yourScrollView.contentOffset = CGPointMake(0,200); //required offset 
    } 
    ... //provide contentOffSet those who needed 
    return YES; 
} 

- (void)textFieldDidEndEditing:(UITextField *)textField 
{ 
    yourScrollView.contentOffset = CGPointMake(0,0); //make UIScrollView as it was before 
} 
0
과 결합이

@interface yourViewController : UIViewController<UITextFieldDelegate> 

처럼 파일

가상 키보드가 적용되는 키보드 입력 필드가있는 경우 가상 키보드 아래에서 해당 필드를 이동해야합니다.

정상적인 방법은 컨트롤러의보기를 UIScrollView와 같은 스크롤 가능한보기로 만드는 것입니다. Moving Content That Is Located Under the Keyboard은 스크롤보기를 조정하고 필수 필드 표시를 보장하는 매우 강력한 방법을 제공합니다.