【问题标题】:UIScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset: warningUIScrollViewDelegate scrollViewWillEndDragging:withVelocity:targetContentOffset: 警告
【发布时间】:2012-09-07 14:50:06
【问题描述】:

我在一个视图控制器上有两个 UITableView(视图控制器是它们的代表)。其中之一将取决于 scrollViewWillEndDragging:withVelocity:targetContentOffset: (我想做某种自定义分页)。另一个将 pagingEnabled 属性设置为 YES,当我第一次尝试滚动它时,XCode 给了我警告

2012-09-07 16:46:39.672 test[17393:707] Stop offset can not be modified for paging scroll views

即使方法的代码在此刻:

-(void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
    return;
}

当我删除方法 scrollViewWillEndDragging:withVelocity:targetContentOffset: 一切似乎都很好。我是否需要尝试制作另一个委托(没有该方法)并使用分页委托制作 UITableView,或者我应该不用担心?

【问题讨论】:

  • 如果取出return会怎样?
  • 同理,有回报;或者没有它根本不会改变任何东西

标签: objective-c ios uitableview uiscrollview


【解决方案1】:

您在控制台中看到此警告的原因是,当滚动视图启用分页时,scrollViewWillEndDragging:withVelocity:targetContentOffset: 方法无效。文档说明了以下内容。

当滚动视图的 pagingEnabled 属性值为 YES 时,不会调用该方法。

换句话说,Xcode 会给你一个警告,但是,正如@tiguero 所指出的,最好在每个委托方法中检查哪个表视图(滚动视图)正在发送委托消息。

至于警告,您可以忽略此警告,因为您的控制器是两个表视图的委托,其中一个启用了分页。

【讨论】:

【解决方案2】:

我对您在这里想要实现的目标感到有些困惑。不过,如果您有相同的视图控制器充当两个 UITableView 的委托,我建议您实现这些委托方法,并通过检查委托方法参数中传递的 scrollView 变量来检查您正在处理的滚动视图。

【讨论】:

  • 是的,在scrollViewWillEndDragging:withVelocity:targetContentOffset:有一个检查,第一个参数的scrollView是否是一个特定的scrollView,该方法对另一个没有任何作用(启用分页的那个)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-31
  • 1970-01-01
  • 2012-06-08
  • 2012-03-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多