【问题标题】:hmsegmentedcontrol - When I scroll, the tab highlighter always changes to 0. why?hmsegmentedcontrol - 当我滚动时,标签突出显示总是变为 0。为什么?
【发布时间】:2016-08-26 13:53:09
【问题描述】:

HMSegmentControl 中,我在其中一个段视图中添加了tableview。当我在当前部分并向上或向下滚动时,我注意到选项卡突出显示总是变为 0。为什么会发生这种情况?

这是我的滚动视图代码:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    CGFloat pageWidth = scrollView.frame.size.width;
    int page = scrollView.contentOffset.x / pageWidth;
    [self.chatSegment setSelectedSegmentIndex:page animated:YES];
    NSLog(@"scrollViewDidScroll - You are now on page %i",page);
}

日志值:

<UITableView: 0x128007e00; frame = (0 0; 320 568); clipsToBounds = YES; tag = 502; gestureRecognizers = <NSArray: 0x1276c2690>; layer = <CALayer: 0x1276c20e0>; contentOffset: {0, 2}; contentSize: {320, 570}>

【问题讨论】:

  • 我们不知道 HMSegmentedControl 是什么!您是否记录了页面值?滚动时是 0 吗?
  • 我将 scrollView.contentOffset.x 设为 0。
  • 这使得该段选择 0 索引。您是在问为什么 scrollView 内容偏移量为 0 ?
  • 是的。为什么它变成 0
  • 您应该添加更多详细信息。滚动视图内容大小是多少?

标签: ios objective-c uiscrollview uisegmentedcontrol contentoffset


【解决方案1】:

当表格在垂直方向滚动时,偏移y值会改变,x值总是0。

所以在你的情况下,你应该参考scrollView.contentOffset.y

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    • 2017-10-18
    • 2021-04-17
    • 2017-04-18
    • 2010-11-08
    • 1970-01-01
    相关资源
    最近更新 更多