使用Scrollview的contentOffset计算Imageview框架

时间:2015-04-18 16:53:59

标签: ios objective-c uitableview uiscrollview

我正在尝试在scrollViewDidScroll中计算图像帧。当我向下或向上拉我的tableview时,我想改变我的imageview框架。

if (scrollView.contentOffset.y > 0 && scrollView.contentOffset.y <= 60) {

    userImageViewHeightConstraint.constant = 50 - scrollView.contentOffset.y /6;
    userImageViewWidthConstraint.constant = 50 - scrollView.contentOffset.y /6;

    userImageView.layer.cornerRadius = userImageViewHeightConstraint.constant/2;
}

我正在计算这样但是,我习惯了0到60之间的内容设置。如果我慢慢使用我的tableview,它工作,但当我快速拉,它是跳过设置的另一个内容,如果条件和我的图像帧没有改变它不进入,我想逐步改变这些帧,所以什么我该怎么做才能计算出来?

抱歉我的英语不好:)。感谢您的建议和解答。

1 个答案:

答案 0 :(得分:1)

对于偏移中的每个点更改,不会调用

scrollViewDidScroll:。当快速滚动时,它会跳过一些点。

原油解决方案是增加2个条件:

  • if (scrollView.contentOffset.y <=0)
  • if (scrollView.contentOffset.y > 60)

将约束设置为您希望从公式中获得的最小值和最大值。