所以我目前有一个UIScrollView,允许用户垂直向下滚动页面。我还有一个UIBarButton,当点击时会在页面中心创建一个按钮,但是,由于UIScrollView我无法告诉按钮一个简单的CGRectMake坐标,因为屏幕的“中心”取决于用户的距离向下滚动我没有使用故事板。
非常感谢
答案 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
的此属性返回用户向下/向右滚动的数量。