
当已经存在现有视图控制器时按下此视图控制器时,它显示正常.但是,当此视图控制器用作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中使用时向下移动所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)