Ios 为什么应用程序安装时contentview的原点与scrollview的原点不一致?
黄色的视图是contentview。黑色视图为滚动视图 代码如下: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= [
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高度相同。很抱歉,我没有足够的声誉这么做。我还有一个问题,我真的很沮丧。你能帮助我吗?很抱歉我没有砌石的经验。