2016-12-08 3 views
0

자식 인 UIStackView가있는 UIScrollView가 있습니다.UIScrollView가 자식 UIStackView의 끝까지 스크롤되지 않습니다.

내부 스택보기의 크기로 스크롤하여 맨 아래로 스크롤 할 수 있습니다.

나는 내가 심지어 스토리 보드에있는 ScrollView의 높이를 하드 코딩하는 시도

scrollView.contentSize = CGSize(width: stackViewMain.frame.width, height: stackViewMain.frame.height) 
scrollView.isScrollEnabled = true 

또는

scrollView.contentSize = CGSize(width: stackViewMain.frame.width, height: 1000) 

같은 많은 다른 접근을 시도했다. 그러나 그것은 여전히 ​​아주 적은 양과 그 이상으로 스크롤합니다.

는 이미의 가장자리 제약 조건을 모두 가

가 가

내가 무슨 일을해야 enter image description hereenter image description here 견해

을 추가 한?

답변

0

스택보기의 네 모서리를 스크롤보기의 네 모서리로 제한해야합니다. Autolayout은 스크롤 뷰와 그 자손 사이의 제약 조건을 기반으로 스크롤 뷰의 contentSize을 설정합니다.

상세 정보 : Technical Note TN2154: UIScrollView And Autolayout

+0

제약 조건이 이미 적용됩니다. 나는 그 질문을 편집했다. –

0

@Saad 쿠 레시, 당신은 ScrollableStackView 시도 할 수 있습니다 : https://github.com/gurhub/ScrollableStackView

샘플 코드 (SWIFT)를

import ScrollableStackView 

var scrollable = ScrollableStackView(frame: view.frame) 
view.addSubview(scrollable) 

// add your views with 
let rectangle = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 55)) 
rectangle.backgroundColor = UIColor.blue 
scrollable.stackView.addArrangedSubview(rectangle) 
// ... 

샘플 코드 (목표 - C)

@import ScrollableStackView 

ScrollableStackView *scrollable = [[ScrollableStackView alloc] initWithFrame:self.view.frame]; 
scrollable.stackView.distribution = UIStackViewDistributionFillProportionally; 
scrollable.stackView.alignment = UIStackViewAlignmentCenter; 
scrollable.stackView.axis = UILayoutConstraintAxisVertical; 
[self.view addSubview:scrollable]; 

UIView *rectangle = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 55)]; 
[rectangle setBackgroundColor:[UIColor blueColor]]; 

// add your views with 
[scrollable.stackView addArrangedSubview:rectangle]; 
// ... 

도움이되는지 알려주세요.