1

이제 설정되었으므로 UIScrollView 내부에 두 개의 UITextView가 있습니다. 요점은 UITextView 자체가 스크롤되지 않고 더 많은 텍스트가 추가 될 때 더 커진다는 것입니다. UIScrollView는 텍스트의 크기에 관계없이보기의 모든 위아래로 스크롤합니다 (제목보기가 메시지보기 위에있는 Mail.app와 유사하게 생각하는 등). 즉, 지금 문제가 발생했습니다. 프로그래밍 방식으로 UITextView (이 코드에서는 bodyText)에 텍스트를 추가하면 UIScrollView가 자동으로 아래쪽으로 스크롤됩니다. 나는 수직 텍스트 2000 픽셀이 있다면, 예를 들어,UITextField 텍스트가 바뀔 때 UIScrollView 아래쪽으로 스크롤

NSRange selectedRange = [bodyText selectedRange]; 
NSString *selectedText = [bodyText.text substringWithRange:selectedRange]; 
bodyText.text = [bodyText.text stringByReplacingCharactersInRange:selectedRange withString:[NSString stringWithFormat:@"<b>%@</b>", selectedText]]; 

그래서 그리고,있는 UIScrollView는 것이 현재 (400)의 위치를 ​​스크롤하고 어딘가가 텍스트를 추가되었습니다

난 그냥 할 텍스트를 추가하려면

나는 UISCrollView를 서브 클래 싱하고 -setContentOffset를 오버라이드하여이를 막으려 고했지만, 그때 모든 스크롤이 멈췄다.

제 질문은 왜 처음부터 맨 아래까지 스크롤합니까? 사용자가 화면의 다른 곳에서 버튼을 클릭 할 때 텍스트가 추가되고 스크롤은 손가락 끌기 또는 아무 것도하지 않습니다. 가이드 프로그래밍 스크롤보기에서

답변

0

당신이 얻을 :

가 표시 수 있도록 또한 사각형 영역을 스크롤 할 수 있습니다

보이는 사각형을 만들기. 응용 프로그램이 현재 가시 영역에 표시되지 않는 범위에있는 컨트롤을 표시해야하는 경우에 특히 유용합니다 ( ). scrollRectToVisible : animated : 메서드는 지정된 사각형 을 스크롤하여 스크롤보기 내부에 표시되도록합니다. 애니메이션 매개 변수 이 예이면 사각형이 일정한 속도로 보기로 스크롤됩니다. 과 같이 setContentOffset : animated : 애니메이션이 사용 중지 된 경우 대표자는 이 하나의 scrollViewDidScroll : 메시지를 보냈습니다. 애니메이션을 사용하면 대리인에게 scrollViewDidScroll : 메시지가 전송되고 애니메이션이 진행됩니다. scrollRectToVisible의 경우 : 애니메이션 : 스크롤 뷰의 추적 및 드래그 속성도 마찬가지입니다.

는 애니메이션 로 scrollRectToVisible 사용할 경우 : 스크롤 뷰가 지정된 위치에 도달 한 애니메이션이 완료 이다 메시지 제공 알림 : 애니메이션 :으로 대리자는 scrollViewDidEndScrollingAnimation를 수신한다.

어쩌면이 기능을 사용하여 UITextView의 가시성을 잠글 수 있습니다.