Program Tip

UIScrollView가 iOS 6 및 iOS 7에서 맨 위에서 공간을 벗어나는 이유

programtip 2020. 11. 12. 20:04
반응형

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
}

참고URL : https://stackoverflow.com/questions/20630059/why-uiscrollview-is-leaving-space-from-top-in-ios-6-and-ios-7

반응형