iOS 10에서 UITextView 상단의 공백
일부 텍스트가 포함된 UITextView가 있습니다., 이제 맨빈 텍스트보기 합니다.OS 6에서는 모든 것이 괜찮았지만 이제 iOS 7에서는 맨 위에 빈 공간을 두고 텍스트 보기 중간 아래에 텍스트를 배치합니다.
콘텐츠 오프셋을 설정하지 않았습니다.도와주세요!
텍스트 보기는 스크롤 보기입니다.보기 컨트롤러는 탐색 모음과 상태 표시줄 뒤에서 위로 스크롤하려는 것으로 가정하여 보기를 스크롤하기 위해 콘텐츠 오프셋을 자동으로 추가합니다.
이를 방지하려면 텍스트 보기가 포함된 보기 컨트롤러에서 다음 속성을 설정합니다.
self.automaticallyAdjustsScrollViewInsets = NO
아이언맨 길이 제시한 현재의 답변은 애초에 문제가 발생하는 이유에 대한 이해에 기초하지 않기 때문에 좋은 해결책이 아닙니다.
jrturton의 대답은 또한 그것을 해결하는 가장 깨끗한 방법이 아닙니다.재정의할 필요는 없습니다.단순하게 하세요!
다음을 설정하기만 하면 됩니다.
self.automaticallyAdjustsScrollViewInsets = NO;
viewDidLoad 메서드에 있습니다.
문서를 확인하십시오. https://developer.apple.com/documentation/uikit/uiviewcontroller/1621372-automaticallyadjustsscrollviewin
인터페이스 작성기에서
- UITextView가 포함된 보기 컨트롤러를 선택합니다.
- 특성 검사기로 이동합니다.
- 스크롤 보기 삽입값 조정을 선택 취소합니다.
이것은 나에게 효과가 있었습니다.
textView.textContainerInset = UIEdgeInsetsZero;
textView.textContainer.lineFragmentPadding = 0;
에 가다Interface Builder
:
- 를 선택합니다.
view controller
에는 여러분의 것포다니합함이 들어 .text view
- 선택을 취소합니다
Adjusts Scroll View Insets
이게 진짜 기능인지 정말 궁금합니다.이 64점 자동 삽입은 다음과 같은 경우에만 추가됩니다.UIScrollView
또는UITextView
뷰 컨트롤러 뷰의 모든 하위 뷰의 깊이가 커집니다.예를 들어 스크롤 뷰 뒤에 뷰를 추가하는 경우(여기서는 뷰 삽입이 아니라 z 버퍼를 말하는 것입니다) 이 64포인트 삽입은 자동으로 추가되지 않습니다.
예를 들어, 다음과 같이 삽입을 추가합니다.
이 경우 삽입값은 추가되지 않습니다.
이것은 저에게 정말 이상하게 보입니다…OS가 뷰를 확장해야 하는지 여부를 결정하기 위해 뷰의 깊이를 살펴보는 이유는 무엇입니까?
위에 있는 빈 공간을 삭제할 수 있습니다.UITextView
다음을 추가:
yourTextView.textContainerInset = UIEdgeInsetsZero;
On swift(Xcode 6)
self.automaticallyAdjustsScrollViewInsets = false
콘텐츠 오프셋을 음의 값으로 설정하여 이 문제를 해결했습니다.여기 스위프트 코드가 있습니다.
yourTextView.setContentOffset(CGPoint(x: 0, y: -150), animated: true)
이는 탐색 모음과 관련이 있습니다.
- 내용이 탐색 모음 아래로 이동하는 경우 보기 컨트롤러가 스크롤 보기 세트를 자동으로 조정하도록 합니다(기본값).
- 내용이 탐색 모음 아래에 들어가지 않는 경우(맨 위 공간 제약 조건에 대해 맨 위 레이아웃 안내서를 사용한 경우), 대부분의 다른 응답에서 언급된 것처럼 자동 스크롤 보기 설정 조정을 비활성화할 수 있습니다.
저는 다음과 같은 속임수를 시도했고, 그것은 효과가 있었습니다.
- (void)viewDidLoad{
self.textView.scrollEnabled = NO;
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
self.textView.scrollEnabled = YES;
}
Swift 4용 솔루션:
textView.textContainerInset = UIEdgeInsets.zero
이건 전문가답지 않은 해결책이야, 나는 확신해, 나는...그러나 텍스트 보기 뒤에 빈 레이블을 붙이는 것만으로도 문제가 해결됩니다.
이것이 바로 저에게 효과가 있었습니다(iOS 7에서 사용 가능).
[<#your UITextViewInstance#> setTextContainerInset:UIEdgeInsetsZero];
언급URL : https://stackoverflow.com/questions/18931934/blank-space-at-top-of-uitextview-in-ios-10
'programing' 카테고리의 다른 글
AngularJS에서 컨트롤러 간에 통신하는 올바른 방법은 무엇입니까? (0) | 2023.05.03 |
---|---|
로그 파일 및 콘솔에 출력 쓰기 (0) | 2023.05.03 |
WPF Scroll Viewer에서 스크롤 막대 너비를 높이는 방법은 무엇입니까? (0) | 2023.05.03 |
특정 커밋에서 분기점을 만들려면 어떻게 해야 합니까? (0) | 2023.05.03 |
테이블 레벨 백업 (0) | 2023.05.03 |