0

我是 iOS 开发的新手,我已经在 Google 上搜索了很多次,但没有找到解决问题的方法。

我有一个UITabBar有两个标签的。第一个显示 a ScrollView,其中包含一些UIViews
如果我滚动内容(UIViews),然后更改为第二个选项卡并更改回第一个选项卡,则UIViews获取其原点已更改。

我用来在my的方法中NSLog()显示 的原点。 当视图第一次出现时, 的原点是。更改选项卡并更改回第一个选项卡后,原点设置为负数,并根据我最初滚动内容的程度而有所不同。UIViewsviewDidAppearUIViewController
UIView(0,0)(0,-XXX)XXX

任何人都可以帮助我吗?

4

2 回答 2

1

这是 UIScrollViews 和自动布局系统的已知错误。如果您重置contentOffsetin,-viewWillAppear您可以解决它:

-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];
    [self.scrollView setContentOffset:CGPointZero animated:NO];
}
于 2013-04-21T00:14:27.933 回答
0

问题解决了。

我无法测试重置 contentOffset 的解决方案,因为我已经更改了我的界面。我没有使用情节提要工具添加 UIView,而是在代码中动态添加。

这可以防止我遇到其他问题...

无论如何,谢谢各位。。

于 2013-04-21T00:46:52.730 回答