我有一个屏幕,我正在显示UICollectionView
。当我运行我的应用程序时,它显示底部的空白区域我不知道为什么会发生这种情况。我也添加了此代码。
- (UIEdgeInsets)collectionView:
(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section
{
// return UIEdgeInsetsMake(0,8,0,8); // top, left, bottom, right
if (collectionView==self.album_collection_view)
{
return UIEdgeInsetsMake(0,10,0,10);
}// top, left, bottom, right
else
return UIEdgeInsetsMake(0,10,0,10);
}
但是以这种方式它不起作用。我也尝试通过故事板解决这个问题,但它仍然不起作用。
在故事情节中,我已经尝试过将昆虫分为0,用于所有方向。
答案 0 :(得分:1)
尝试将UIViewController的automaticallyAdjustsScrollViewInsets
属性设置为NO
。来自Apple Documentation:
讨论:
此属性的默认值为
YES
,允许查看 控制器调整其滚动视图插入以响应屏幕 状态栏,导航栏和工具栏或选项卡消耗的区域 酒吧。如果要管理滚动视图插入调整,请设置为NO
你自己,比如视图中有多个滚动视图 层次结构。
所以设置为[self setAutomaticallyAdjustsScrollViewInsets:NO];
。然后设置集合视图的contentInset
属性以满足您的需求。
答案 1 :(得分:0)
确定。但是,如果您在if和else中同时使用相同的UIEdgeInsets,那么看到您的代码我就不明白为什么要使用条件。
愿这对你有所帮助。
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionViewlayout:(UICollectionViewLayout*)collectionViewLayoutinsetForSectionAtIndex:(NSInteger)section{
if (collectionView == self.album_collection_view)
{
return UIEdgeInsetsMake(0,10,0,10);
}
else{
return UIEdgeInsetsMake(0,0,0,0);
}
}