ios - UICollectionView 在 iOS 11 上覆盖全屏

标签 ios objective-c uicollectionview

我有一个以前从未遇到过的奇怪问题。我在 UIViewController 上有一个 UICollectionViewUICollectionView 覆盖屏幕的 2/3 并与底部对齐。我在 Collection View 上方有一个搜索控件。虽然它在 iOS 12 上完美运行,但 UICollectionView 覆盖了整个屏幕,并且搜索控件在 iOS 11 中不再可见。

我的 View 中没有导航栏,我想知道是什么原因造成的。

- (void)viewDidLoad {

    UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc]init] ;

    layout.scrollDirection = UICollectionViewScrollDirectionVertical ;
    layout.minimumLineSpacing = 0 ;
    layout.minimumInteritemSpacing = 0 ;

    self.collectionView.collectionViewLayout = layout ;

    self.collectionView.delegate = self ;
    self.collectionView.dataSource = self ;
    self.collectionView.allowsMultipleSelection = YES ;
    self.searchBar.delegate = self;

    //Number of rows in collectionview
    - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
    {
        return 11;
    }

    //Bottom space for collection view
    - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section{
        return CGSizeMake(0, 50) ;
    }

}

编辑:约束图像 Contraints

最佳答案

在你的限制下尝试一下

Search Bar.top = Safe Area.top

希望这会有所帮助。

关于ios - UICollectionView 在 iOS 11 上覆盖全屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56071484/

相关文章:

ios - 为什么 [NSString hash] 设备依赖?

ios - 为什么当我将 int 转换为 NSInteger 时值会发生变化?

iphone - 具有多个 UIImageView 实例的 iOS CGRectIntersectsRect?

ios - 为自定义 CollectionView 添加边框

ios - 如何在滚动 Collection View 内的 TableView 时隐藏导航栏

ios - 自定义底部栏不在自定义分段控件的正确位置

objective-c - NSArray:检测并删除不存在的对象(文件)

ios - 这会将对象存储为数组吗?解析.com

ios - UIBezierPath 撤消绘图重绘 UIImageView 的图像

ios - 垂直滚动具有自调整单元格的 UICollectionView 仅显示一半的单元格