UIScrollView 안에 UITextView를 넣고 textView에 포커싱을 올리면
키보드에 가려져 스크롤을 해야하는 번거로움이 있다.
그럴경우 아래와 같은 코드를 사용해보자.
// UITextViewDelegate 내 override 함수에 활용
func textViewDidChange(_ textView: UITextView) {
let deadlineTime = DispatchTime.now() + .milliseconds(100)
DispatchQueue.main.asyncAfter(deadline: deadlineTime) {
if let cursorPosition = textView.selectedTextRange?.end {
let caretPositionRect = textView.caretRect(for: cursorPosition)
print(caretPositionRect, "caret")
let pointsuperview = textView.convert(caretPositionRect, to: self.scrollView)
self.scrollView.scrollRectToVisible(pointsuperview, animated: false)
}
}
}
textview의 마지막 글자의 커서 위치를 얻어 해당 위치로 스크롤 시키는 방법이다.
'Swift' 카테고리의 다른 글
[Swift] WebKit 의 웹 관련 캐시 삭제 하는 방법 (0) | 2022.12.16 |
---|---|
[Swift] Alamofire 통신에서 캐시 사용 안하는 방법 (0) | 2022.11.25 |
[Swift] ScrollView 에서 Button Highlight Delay가 생길 때 (2) | 2022.11.11 |
[Swift] CLLocationManager.locationServicesEnabled() Issue 문제 (2) | 2022.11.02 |
[Swift] WebKit 의 WKWebView 사용법 (0) | 2022.10.18 |