텍스트 필드와 텍스트 뷰가있는 응용 프로그램이 있는데 키보드를 가져 오면 하위 텍스트 필드가 숨겨집니다. 내가 어떻게 할거야.키보드가 활성화되었을 때 스크롤링
나는 시도했다 :
하는 .m :
- (void)textFieldDidBeginEditing:(UITextField *)sender {
CGSize content = _scrollView.contentSize;
_scrollView.contentSize = CGSizeMake(content.width, content.height + 200);
svos = _scrollView.contentOffset;
CGPoint pt;
CGRect rc = [sender bounds];
rc = [sender convertRect:rc toView:_scrollView];
pt = rc.origin;
pt.x = 0;
pt.y -= 200;
[_scrollView setContentOffset:pt animated:YES];
}
- (IBAction)textFieldShouldReturn:(UITextField *)textField {
CGSize content = _scrollView.contentSize;
_scrollView.contentSize = CGSizeMake(content.width, content.height - 200);
[_scrollView setContentOffset:svos animated:YES];
[textField resignFirstResponder];
}
.H :
CGPoint svos;
하단의 텍스트 필드는 여전히 눈에 보이는 것들로 스크롤 않습니다 숨겨져 있지만
달성하고자하는 것은 그리 간단하지 않습니다. 보낸 사람 텍스트 필드의 원본을 가져 왔지만 60 자까지만 올리므로 아래쪽 텍스트 필드는 키보드로 덮여 있습니다. 키보드의 높이를 알아 내고 위로 올라갈 거리를 계산해야합니다. 이것 좀 봐 [http://stackoverflow.com/questions/1126726/how-to-make-a-uitextfield-move-up-when-keyboard-is-present?rq=1](http://stackoverflow.com)/question/1126726/how-to-make-a-uitextfield-move-up-when-keyboard-is-present? rq = 1) – Rick
@Rick 앱을 수정중인 항목을 변경할 때와는 별개로 작동합니다. 내용이 낮 으면 –
으로 스크롤 할 수 없습니다. 스크롤보기를 사용 중이면 내용 하단의 텍스트 필드로 스크롤하기 위해 빈 공간이있는 contentSize를 확장 할 수 있습니다. 앱이 왜 추락했는지에 관해서는 정교하게 다룰 필요가 있습니다. – Rick