2016-01-22 64 views
5

我试图嵌入它,但我的堆栈视图是动态的,我的应用程序也在不时变化方向。我在视图结尾处有段控制。 我也尝试了谷歌搜索,但没有运气。提前致谢。如何以编程方式在滚动视图中嵌入堆栈视图

到目前为止,我已经做了:

鉴于没有负载:

mainStackView.axis = UILayoutConstraintAxis.Vertical 
mainStackView.spacing = 3 
scrollView.frame = self.view.bounds 
scrollView.addSubview(mainStackView) 
view.addSubview(scrollView) 

鉴于没有布局:

override func viewDidLayoutSubviews() 
    { 
     super.viewDidLayoutSubviews() 
     let top = topLayoutGuide.length 
     let bottom = bottomLayoutGuide.length 
         self.mainStackView.frame = CGRect(x: 0, y: top, width: view.frame.width, height: view.frame.height - top - bottom).insetBy(dx: 10, dy: 10) 
     dispatch_async(dispatch_get_main_queue()) 
      { 

       self.scrollView.frame = self.view.bounds 
       self.scrollView.contentSize = CGSize(width: self.view.bounds.width, height: self.segmentedControl.frame.origin.y + self.segmentedControl.frame.height + 50) 
     } 
     print(scrollView.contentSize) 
    } 

回答

2

你需要设置分段控制的高度约束。

例如:

segmentedControl.heightAnchor.constraintEqualToConstant(50).active = true 

更多了,你可以添加空底视图,以避免堆栈视图的必须填写机制。这会显示你想要的视图输出。

 var bottomView = UIView(frame: CGRectZero) 
     stackView.addArrangedSubview(bottomView) 
+0

很好。这正是我正在寻找的东西。 – shafi

相关问题