Objective c 为什么要更新;contentOffset“;一个UIScrollView的效果如何?
我有一个UIScrollView,它可以垂直和水平滚动。这个视图中有很多按钮,每个按钮都有自己的宽度(但都有相同的高度) 当这些按钮中的一个被点击时,一个类似滑块的界面被激活。如果此界面覆盖所选按钮,则必须滚动整个滚动视图,以便按钮再次可见 当滚动视图内容偏移的Y坐标设置为限制(该限制可以是0或视图的高度)时,我的应用程序的行为与预期的一样。但是,如果内容偏移量位于中间垂直位置,则滚动似乎不会发生 首先,我尝试了以下方法:Objective c 为什么要更新;contentOffset“;一个UIScrollView的效果如何?,objective-c,cocoa-touch,ipad,uiscrollview,Objective C,Cocoa Touch,Ipad,Uiscrollview,我有一个UIScrollView,它可以垂直和水平滚动。这个视图中有很多按钮,每个按钮都有自己的宽度(但都有相同的高度) 当这些按钮中的一个被点击时,一个类似滑块的界面被激活。如果此界面覆盖所选按钮,则必须滚动整个滚动视图,以便按钮再次可见 当滚动视图内容偏移的Y坐标设置为限制(该限制可以是0或视图的高度)时,我的应用程序的行为与预期的一样。但是,如果内容偏移量位于中间垂直位置,则滚动似乎不会发生 首先,我尝试了以下方法: CGPoint newOffset = CGPointMake(self
CGPoint newOffset = CGPointMake(self.scrollView.contentOffset.x + horizontalVar,
self.scrollView.contentOffset.y);
[self.scrollView setContentOffset: newOffset animated: YES];
正如我提到的,这不起作用
然后,我尝试使用其属性设置器手动设置视图动画:
[UIView animateWithDuration: 0.3 animations: ^{
CGPoint newOffset = CGPointMake(self.scrollView.contentOffset.x + horizontalVar, self.scrollView.contentOffset.y);
self.scrollView.contentOffset = newOffset;
}];
这种方法产生了以下结果:如果滚动视图的一个按钮被点击时处于中间垂直位置,则内容偏移量更新会导致视觉变化,但视图几乎立即返回到其原始状态
关于这个问题我没有其他线索。您能帮我吗?可能是因为您没有设置scrollView的ContentSize。我设法解决了这个问题。我有一个与滚动事件关联的委托。这些方法扰乱了我的滚动逻辑。非常感谢你的帮助!