【发布时间】:2017-10-01 07:56:15
【问题描述】:
我在 SO 上看到一堆类似的问题,但没有一个能解决我的问题。
我正在添加一个UIView 作为UIScrollView 的子视图。 UIView 有 3*scrollView.width 和 3*scrollView.height。所以我相应地设置了UIScrollView 的contentSize。当应用程序启动时,我希望 scrollView 窗口位于 subView 的中间,类似这样 --
-------------------
| |
| ________ |
| | | |
| | | |
| ------- |
| |
-------------------
内部窗口应该是scrollView,也是用户在应用启动时看到的UIView 的一部分。但是,我无法做到这一点。
scrollView 始终设置为原点 (0,0)
我这样做了 -
let margins = view.layoutMarginsGuide
scrollView.leftAnchor.constraint(equalTo: margins.leftAnchor).isActive = true
scrollView.rightAnchor.constraint(equalTo: margins.rightAnchor).isActive = true
scrollView.bottomAnchor.constraint(equalTo: margins.bottomAnchor, constant: 0).isActive = true
scrollView.topAnchor.constraint(equalTo: margins.topAnchor).isActive = true
scrollView.center = self.view.center // view is the base view of which scrollView is a subview of.
subView.leftAnchor.constraint(equalTo: scrollView.leftAnchor, constant: -1*scrollView.frame.width)
subView.topAnchor.constraint(equalTo: scrollView.topAnchor, constant: -1*scrollView.frame.height)
【问题讨论】:
标签: ios swift uiview uiscrollview