2010-05-11 3 views
1

키보드를 표시 할 때 스크롤보기를 사용하여 내보기를 이동하고 특정 텍스트 필드를 표시합니다 (그렇지 않은 경우 숨김). 기본적으로 스크롤 뷰의 크기를 조정하여 키보드 공간을 확보 한 다음 완벽하게 작동하는 "scrollRectToVisible"을 사용하여보기를 부드럽게 스크롤합니다. 그런 다음 키보드를 내리지 않고 나머지 텍스트 필드를 스크롤하고 편집 할 수 있습니다.키보드가 숨겨져있는 동안보기를 아래로 스크롤

키보드를 다시 숨길 때 문제가 발생합니다. 키보드를 내리고 문제를 일으키지 않고 뷰를 원래 위치로 스크롤 할 수 있었지만 그 전환을 원활하게 만들 수 없었습니다.

- (void)keyboardWillHide: (NSNotification *)notif { 

    CGRect topRect = CGRectMake(0, 0, 1, 1); 
    [scrollview scrollRectToVisible:topRect animated:YES]; 

    scrollview.frame = CGRectMake(0, 0, scrollviewWidth, scrollviewHeight);  
} 

난 다음 "로 scrollRectToVisible"를보기로 이동 상단에 CGRect를 만듭니다 순간

나는 다음과 같은 사용합니다. 그것은 잘 작동하고 키보드가 숨어있을 때 오른쪽 스크롤 시작합니다 (나는 keyboardWillHide "및"keyboardDidHide "스크롤 뷰 프레임에 여전히 아래쪽 부분이 없기 때문에) 사용하지 않습니다.

스크롤 뷰 프레임의 크기를 원래 크기로 되돌릴 때 문제가 발생합니다. 그 이유는 스크롤이 중단되고보기가 갑자기 바닥에 떨어지기 때문입니다 (스크롤 할 다른 것이 없기 때문에) . 이로 인해 글리치가 발생하기 때문에 전환을 원활하게 완료 할 수 없습니다.

보기를 부드럽게 스크롤하면서 키보드를 낮추려면 어떻게해야합니까?

크기를 조정하지 않고 더 큰 화면을 스크롤해야합니까? 그런 식으로 키보드를 낮추면 스크롤 뷰 프레임 치수를 복원 할 필요가 없습니까?

대단히 감사드립니다. 이 질문에 대한 답 밖으로

답변

0
+0

안녕 Staros, 감사 대답합니다! 나는이 접근법을 이미 취했지만,이 예제에서 크기를 조정하는 것은 뷰이며 스크롤 뷰가 아니라 키보드가 표시된 경우 스크롤 뷰를 사용하려고한다고 생각합니다. 스크롤보기 자체가 아니라 스크롤보기가있는보기의 크기를 조정 한 다음 특정 텍스트 필드로 스크롤해야합니까? 나는 그것을 시도하지 않았다, 그것은 당신이 제안하고있는 것인가? 나는 집에 갈 때 내가 할 수있는 것을 보게 될 것이다. 다시 한 번 감사드립니다! – Manu

+0

마지막 답변에서 "Shiun"이 쓴 것이 속임수였습니다. 감사! – Manu

관련 문제