UIScrollView가 iOS 6 및 iOS 7에서 맨 위에서 공간을 벗어나는 이유
Autolayout을 끄고 viewcontroller가 내비게이션 컨트롤러에 내장되어 있습니다. Xcode 5, Storyboard를 사용하고 있습니다.
나는 그것이 왜 위에서 공간을 떠나는 지 이해하지 못한다. 실제로 스토리 보드에서 내 레이블을 내비게이션 바 바로 아래에 놓았습니다. 그러나 시뮬레이터에서 실행하면 상단에서 공간이 남습니다.
이 문제를 해결하는 해키 방법 중 하나
-(void)viewWillLayoutSubviews
{
self.scrollViewMain.frame = CGRectMake(0, -70, 320, 800);
self.scrollViewMain.contentSize = CGSizeMake(320, 800);
}
그러나 나는 매우 간단한 접근 방식을 놓치고 있습니다.
Xcode 5의 스토리 보드에서 컨트롤러 선택> Attribute Inspector에서 스크롤 뷰 삽입 조정 비활성화 contentInset을 설정했는지 확인하십시오.
편집 : 나는 사진을 첨부
수정 사항은 viewDidLoad에서 다음 코드 줄을 구현하는 것입니다.
self.automaticallyAdjustsScrollViewInsets = 아니오;
iOS 11 용 업데이트
if #available(iOS 11.0, *) {
scrollView.contentInsetAdjustmentBehavior = .never
} else {
automaticallyAdjustsScrollViewInsets = false
}
Go to main storyboard. Select view controller, see property "Adjust Scroll view Insects" in attribute inspector. if you do not want top spacing.then uncheck "Under Top Bars". if you don not want bottom spacing.then uncheck "Under Bottom Bars". this kind of problem come when we use scroll view related controllers.
This is a feature for navigation and tab bar to adjust content in scroll view like controls.
Inspector: Select scrollView and set up Content Insets - never
For me in xcode 7 and Swift 2.x I was populating a UIScrollView with a for loop and had to set the contentInset to zero.
for image in images {
self.scrollView.contentInset = UIEdgeInsetsZero
}
'Program Tip' 카테고리의 다른 글
비하인드 뷰 클릭 이벤트 프레임 레이아웃을 비활성화하는 방법 (0) | 2020.11.12 |
---|---|
파이썬 목록 이해력; (0) | 2020.11.12 |
이메일 서버없이 이메일 보내기 테스트 (0) | 2020.11.12 |
"표준 경로"란 무엇입니까? (0) | 2020.11.11 |
소스 코드에서 인증에 사용되는 비밀번호 처리 (0) | 2020.11.11 |