키보드가 올라와있는 동안 UITextFields를 탐색하려고합니다. 내부에 텍스트 필드가있는 UIScrollView가있는 xib 설치가 있습니다. UITextField가 첫 번째 응답자로 설정되면 contentOffset.y가 변경됩니다. 첫 번째 두 텍스트 필드는 정상적으로 반응하지만 스크롤 뷰는 선택한 텍스트 필드를 지나쳐 촬영됩니다. 그리고 내가 얻은 목록에서 멀어 질수록 점차 더 나 빠지게됩니다. 설치 NSLog 문과 중단 점은 텍스트 필드를 처음 선택할 때 올바른 y 값이 사용되지만 scrollview의 scrollViewDidScroll 메서드는 텍스트 필드를 지나서 여러 번 호출 된 후 바로 호출된다는 것을 보여줍니다.contentOffset을 설정 한 후 UIScrollView 자동 스크롤
-(void)textFieldDidBeginEditing:(UITextField *)textField{
textField.inputAccessoryView = accessoryBar;
int offset = 30;
[scrollView setContentOffset:CGPointMake(0, textField.frame.origin.y -offset) ];
}
-(void)textFieldDidEndEditing:(UITextField *)textField{
[scrollView setContentOffset:CGPointMake(0, 0)];
}
-(BOOL) textFieldShouldReturn:(UITextField*) textField {
[textField resignFirstResponder];
return YES;
}
나는 엑스 코드 4.1 사자에
scrollViewDidScroll에서 변경하는 사항이 있습니까? 또는 다른 곳에서 오프셋 된 컨텐츠를 설정하고 있습니까? – MishieMoo
NSLog를 사용하여 오프셋 호출을 인쇄하는 것 외에는 scrollViewDidScroll을 사용하지 않습니다. "NSLog (@"scrollview : offsetY : % f 높이 : % f ", scrollView.contentOffset.y, scrollView.contentSize.height);" – user912649
오프셋은 항상 30입니까? 문디 (Mundi)와 같이 확실히 textField 프레임을 기록하십시오. – MishieMoo