Ios 为什么应用程序安装时contentview的原点与scrollview的原点不一致?

Ios 为什么应用程序安装时contentview的原点与scrollview的原点不一致?,ios,objective-c,uiscrollview,uitabbarcontroller,Ios,Objective C,Uiscrollview,Uitabbarcontroller,黄色的视图是contentview。黑色视图为滚动视图 代码如下: CGRect frame = CGRectMake( 50, 100, 200, 200); UIScrollView *scrollView= [[UIScrollView alloc] initWithFrame:frame]; [self.view addSubview:scrollView]; frame= CGRectMake( 0, 0, 500, 500); UIImageView *myImageView= [

黄色的视图是contentview。黑色视图为滚动视图

代码如下:

CGRect frame = CGRectMake( 50, 100, 200, 200);
UIScrollView *scrollView= [[UIScrollView alloc] initWithFrame:frame];
[self.view addSubview:scrollView];

frame= CGRectMake( 0, 0, 500, 500);
UIImageView *myImageView= [[UIImageView alloc] initWithFrame:frame];
[scrollView addSubview:myImageView];
scrollView.contentSize = CGSizeMake(500,500);

scrollView.backgroundColor = [UIColor blackColor];
myImageView.backgroundColor = [UIColor yellowColor];

scrollView.contentOffset = CGPointMake(0, 0)
图中还显示了一个问题: 为什么水平滚动条不在scrollview的底部


当我在scrollview和self.view之间添加视图时,问题消失了

我添加的代码:

UIView *view = [UIView new];
[self.view addSubview:view];

我发现问题发生在我使用UITabBarController时。

将UIScrollView设置为全局变量。按如下方式加载视图时,将UIScrollView和UIScrollView的指示器的内容插入设置为UIEdgeInsetsZero:

- (void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];
    _scrollView.contentInset = UIEdgeInsetsZero;
    _scrollView.scrollIndicatorInsets = UIEdgeInsetsZero;
}

您的代码运行良好我使用上述代码创建了一个新项目。然后一切正常。其他代码中可能有错误。当我在scrollview和self.view之间添加视图时,问题消失了。回答这个问题。这样其他人可以从中受益。我发现问题发生在我使用UITabBarController时。我将代码上传到github。您可以获得问题描述中的url。谢谢,它可以工作。我想知道问题的原因是什么。当UIScrollView是UIViewController中主视图之后的最顶层视图时,这可能是一个默认问题。因为边缘与UINavigationBar高度和UITabBar高度相同。很抱歉,我没有足够的声誉这么做。我还有一个问题,我真的很沮丧。你能帮助我吗?很抱歉我没有砌石的经验。