Swift-在使用UIScrollView时如何定位项目

时间:2014-11-04 18:21:26

标签: ios swift uiscrollview

所以我目前有一个UIScrollView,允许用户垂直向下滚动页面。我还有一个UIBarButton,当点击时会在页面中心创建一个按钮,但是,由于UIScrollView我无法告诉按钮一个简单的CGRectMake坐标,因为屏幕的“中心”取决于用户的距离向下滚动我没有使用故事板。

非常感谢

2 个答案:

答案 0 :(得分:0)

如果按钮不需要在滚动视图内,我会使用它的中心将其添加到滚动视图的超级视图

theButton.frame = CGRect(x:scrollView.center.x ,y: scrollView.center.y ,width:buttonWidht, height: buttonHeight)
scrollViewSuperView.addSubview(theButton)

如果需要在scrollview中,您需要计算当前的y中心。您可以通过将scrollView的高度添加到当前scrollOffset并将其除以2

来完成此操作
let currYCenter = (scrollView.contentOffset.y + scrollView.frame.size.height) / 2
theButton.frame = CGRect(x:scrollView.center.x ,y: currYCenter ,width:buttonWidht, height: buttonHeight)
scrollView.addSubview(theButton)

答案 1 :(得分:0)

如果我理解你的问题,你应该使用contentOffset; UIScrollView的此属性返回用户向下/向右滚动的数量。