저는 앱에서 간단한 텍스트 채팅 기능을 구현하고 프로그래밍 방식으로 UITextView
을 스크롤하는 데 문제가 있습니다. Interface Builder에서 만든 UITextView
을 사용하여 기존 텍스트에 새로운 줄과 일부 텍스트를 추가합니다. 새 텍스트가 추가되면 맨 아래로 스크롤해야합니다.UITextView를 프로그래밍 방식으로 스크롤
내 응용 프로그램에 추가하기 전에 테스트 응용 프로그램을 작성하여 개념을 완성했습니다. UITextView
의 텍스트는 UITextField
의 텍스트로 업데이트되지만 스크롤은 발생하지 않습니다.
- (IBAction)enteredText {
CGPoint currentPosition = [textWindow contentOffset];
[textWindow setText:[NSString stringWithFormat:@"%@\n%@", textWindow.text, textInput.text]];
[textWindow setContentOffset:currentPosition animated:NO];
[textWindow scrollRangeToVisible:NSMakeRange([textWindow.text length], 0)];
[textInput setText:@""];
[textInput becomeFirstResponder];
}
난 내가 코드가 비슷한 기억 andfrom 무엇을 얼마 전에 개발 된 다른 응용 프로그램에서 매우 유사한 기능을 구현하는 기억. 유일한 차이점은 이전 응용 프로그램이 iPhone OS 2 용 이었지만이 응용 프로그램은 3.0 용이었습니다. 일부 포럼에서 Interface Builder에서 UITextView
을 만들 때 3.0 베타에서 스크롤하는 데 문제가 있음을 읽었습니다. 나는 current release notes을 확인했는데 그 사실을 나타내는 어떤 것도 보지 못했습니다.
편집 : 텍스트가 UITextView에서 업데이트되기 때문에 IB 작업이 호출됩니다. 그리고 "Cancellable Content Touches"가 체크됩니다.
편집 : 같은 코드가 2.2.1에서 작동 확인하지만 3.0
텍스트가 업데이트되기 때문에 작업이 호출되고 있음을 알고 있습니다. 그리고 네, "Cancellable Content Touches"검사가 3.0의 문제를 수정하는 것을 보았습니다. 그 내용을 원래 게시물에 포함시켜야했습니다. "취소 할 수있는 콘텐츠 감추기"의 세부 사항은 무엇입니까 –
나는 그게 무슨 일을하는지 잘 모르겠지만 당신과 비슷한 문제에 직면 해 있었고 고쳐서 그것을 확인했습니다. 나는 그것에 의해 야기 된 이상한 부작용을 발견하지 못했지만 나의 경우는 매우 간단했다. –