uiscrollview奇怪的偏移

时间:2016-02-25 11:38:36

标签: ios uitableview uiview storyboard

我有一个问题,我的viewDidLayoutSubviews在我的表wiche正好在视图和我的视图之间创建了一个奇怪的偏移

我例如取消注释我的代码的这一部分,并在我开始滚动时在我的表中滚动这个内容视图尿布 看起来像这样:

Offset between view and table

我真的不知道为什么会这样。问题不在于我通过将视图与代码连接来测试它的约束,而不是。

我做什么

-(void)viewDidLayoutSubviews{
    [super viewDidLayoutSubviews];
    [self.TableView setContentInset:UIEdgeInsetsMake(self.ContainerView.frame.size.height, 0.f, 0.f, 0.f)];
    [self.TableView scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:NO];

   float headerImageYOffset = 88 + self.ContainerView.bounds.size.height - self.view.bounds.size.height;
   CGRect headerImageFrame = _ContainerView.frame;
   headerImageFrame.origin.y = headerImageYOffset;
}

滚动时的操作

    -(void)scrollViewDidScroll:(UIScrollView *)scrollView{
    CGFloat scrollOffset =-scrollView.contentOffset.y;
    CGFloat yPos = scrollOffset - _obergurglContainerView.bounds.size.height;
    _obergurglContainerView.frame = CGRectMake(0, yPos, _obergurglContainerView.frame.size.width, _obergurglContainerView.frame.size.height);
    float Alpha = 1.0-(-yPos/_obergurglContainerView.frame.size.height);
    _obergurglTitleImageView.alpha = Alpha;
    NSLog(@"THE Alpha Value : %f",  Alpha);
    NSLog(@"The off set of the scroll view is %f",scrollOffset);
}

感谢您的帮助和快速解答! :)

1 个答案:

答案 0 :(得分:0)

因此,再次阅读我想出的关于你的问题的问题。 我认为你不应该使用viewDidLayoutSubviews。

滚动时会一直调用
viewDidLayoutSubviews,这会一直在修改tableview中的插入内容。

尝试放置

[self.TableView setContentInset:UIEdgeInsetsMake(self.ContainerView.frame.size.height, 0.f, 0.f, 0.f)];

您创建表格视图的地方。