我有一个问题,我的viewDidLayoutSubviews在我的表wiche正好在视图和我的视图之间创建了一个奇怪的偏移
我例如取消注释我的代码的这一部分,并在我开始滚动时在我的表中滚动这个内容视图尿布 看起来像这样:
我真的不知道为什么会这样。问题不在于我通过将视图与代码连接来测试它的约束,而不是。
我做什么
-(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);
}
感谢您的帮助和快速解答! :)
答案 0 :(得分:0)
因此,再次阅读我想出的关于你的问题的问题。 我认为你不应该使用viewDidLayoutSubviews。
滚动时会一直调用尝试放置
[self.TableView setContentInset:UIEdgeInsetsMake(self.ContainerView.frame.size.height, 0.f, 0.f, 0.f)];
您创建表格视图的地方。