2013-06-12 4 views
2

내 첫 번째 게시물입니다. 문제가 생길 때마다 항상 해결책을 찾았지만 지금은 정말 고생하고 있습니다.키보드가 내 UITableViewController의 텍스트 필드를 숨기고 스크롤하지 않습니다.

나는이 문제와 관련된 모든 게시물을 읽었지만 운이 없다고 생각합니다.

나는 여러 개의 사용자 정의 셀을 포함하는 테이블 뷰 컨트롤러를 가지고 있으며 모든 셀에는 내부에 텍스트 필드가 있습니다. 따라서 사용자가 처음부터 시작하여 첫 번째 값을 삽입 한 다음 키보드 맞춤 도구 모음에서 "적용"버튼을 눌러 다음 텍스트 상자를 제어합니다.

툴바는 보이지만 작동하지 않지만 문제가되지 않습니다. 시뮬레이터에서 Enter 키를 누르면 다음 텍스트 상자가 활성화되기 때문입니다.

실제 문제는 스크롤하지 않는 화면에 관한 것입니다. firts 텍스트 상자를 선택하면 스크롤되며 아무 것도 표시되지 않습니다.

나는 어디에서나 검색했으며, 불행히도 나는 많은 노력을 기울이고 있으며,이 문제를 해결할 충분한 시간이 없다.

아마도 내가 실종되었다는 것은 어리석은 짓이며, 누군가 도와 드릴 수 있기를 바랍니다. .H 파일에

은 :

@interface PaginaCalcoliController : UITableViewController <UITextFieldDelegate> 

모든 텍스트 상자는 뷰 클래스입니다 PaginaCalcoliController에 위임된다.

영어로 유감입니다. 해결책을 찾을 수 있기를 바랍니다.

답변

1

"contentInset"을 설정하면됩니다. 먼저 UITableviewController를 UIViewController로 바꾸고 UITableview를 하위 뷰로 추가하고 테이블 뷰, 데이터 소스 및 위임을 위임 보기 didload 메서드에 넣으십시오. 이 도움이 될 것입니다

-(void)viewDidLoad 
{ 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) 
               name:UIKeyboardDidShowNotification object:nil]; 
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(keyboardDidDisappear:) name:UIKeyboardDidHideNotification object:nil]; 

} 

-(void)keyboardDidShow:(NSNotification *)notification 
{ 

    NSDictionary *info=[notification userInfo]; 
    NSValue *aValue=[info objectForKey:UIKeyboardFrameEndUserInfoKey]; 

    CGRect keyBoardRect=[aValue CGRectValue]; 
    keyBoardRect=[self.view convertRect:keyBoardRect fromView:nil]; 
    CGFloat keyBoardTop=keyBoardRect.origin.y; 

    tableView.contentInset=UIEdgeInsetsMake(0, 0, keyBoardTop+50, 0); 
} 

-(void)keyboardDidDisappear:(NSNotification *)notification 
{ 
tableView.contentInset=UIEdgeInsetsMake(10, 0, 10, 0); 


} 

희망 ... :)

+0

방법이 애니메이션 –

+0

이 애니메이션이되어 contentInset –

+0

을 설정하는 동안 애니메이션 블록을 넣어 시도 할 ..? –

1

안 좋은 생각은 애니메이션 시간을 하드 코딩합니다. 0.25는 키보드의 기본값입니다. 더 나은에서와 같이 값을 얻을 수 있습니다 :

NSNumber *rate = notification.userInfo[UIKeyboardAnimationDurationUserInfoKey]; 
+0

피드에 대한 감사합니다 .. –

관련 문제