ios – 全屏水平滚动UICollectionView单元格在首次显示的UIViewController中使用时向下移动

ios – 全屏水平滚动UICollectionView单元格在首次显示的UIViewController中使用时向下移动,第1张

概述我正在创建一系列帮助页面,这些页面会在用户首次启动应用程序时显示.为此,我有一个以编程方式设置UIViewController,初始化(编程设置)UICollectionView视图控制器边界的大小.每个单元格包含一个全屏大小的图像. 当已经存在现有视图控制器时按下此视图控制器时,它显示正常.但是,当此视图控制器用作app导航控制器的初始根视图控制器时,集合视图具有正确的大小和对齐方式,但单元格从 我正在创建一系列帮助页面,这些页面会在用户首次启动应用程序时显示.为此,我有一个以编程方式设置UIVIEwController,初始化(编程设置)UICollectionVIEw视图控制器边界的大小.每个单元格包含一个全屏大小的图像.

当已经存在现有视图控制器时按下此视图控制器时,它显示正常.但是,当此视图控制器用作app导航控制器的初始根视图控制器时,集合视图具有正确的大小和对齐方式,但单元格从屏幕顶部向下移动约10个像素,因此集合查看背景显示通过.

(注意红色是集合视图背景颜色)

如果我在vIEwDIDLoad,vIEwDIDLayoutSubvIEws或vIEwWillAppear中设置集合视图,我会遇到同样的问题.如果我在vIEwDIDAppear中设置集合视图,则不会遇到此问题,但这不起作用,因为用户在加载集合视图之前会看到黑屏.

以下是在应用程序中显示视图控制器的代码:dIDFinishLaunchingWithOptions:launchOptions:

UIVIEwController* vIEwControllertopush = [[OnboardingVIEwController alloc] initWithNibname:nil bundle:nil];_nav = [[UINavigationController alloc] initWithRootVIEwController:vIEwControllertopush];[_nav setNavigationbarHIDden:YES];self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];[self.window setRootVIEwController:_nav];[self.window makeKeyAndVisible];

以下是设置集合视图和布局的代码:

UICollectionVIEwFlowLayout* layout = [[UICollectionVIEwFlowLayout alloc] init];layout.minimumInteritemSpacing = 0;layout.minimumlinespacing = 0;layout.itemSize = CGSizeMake(self.vIEw.bounds.size.wIDth,self.vIEw.bounds.size.height);layout.scrollDirection = UICollectionVIEwScrollDirectionHorizontal;CGRect collectionVIEwFrame = self.vIEw.bounds;_collectionVIEw = [[UICollectionVIEw alloc] initWithFrame:collectionVIEwFrame collectionVIEwLayout:layout];_collectionVIEw.delegate = self;_collectionVIEw.dataSource = self;_collectionVIEw.pagingEnabled = YES;_collectionVIEw.showsHorizontalScrollindicator = NO;[_collectionVIEw registerClass:[OnboardingCollectionVIEwCell class] forCellWithReuseIDentifIEr:@"Cell"];[self.vIEw addSubvIEw:_collectionVIEw];
解决方法 我通过在init函数中将视图控制器的automaticAdjustsScrollVIEwInsets设置为NO来修复此问题.感谢 https://stackoverflow.com/a/25352483/1370967的灵感. 总结

以上是内存溢出为你收集整理的ios – 全屏水平滚动UICollectionView单元格在首次显示的UIViewController中使用时向下移动全部内容,希望文章能够帮你解决ios – 全屏水平滚动UICollectionView单元格在首次显示的UIViewController中使用时向下移动所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1058140.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存