GridView单元格向上滚动到iOS 7中的状态栏

时间:2013-10-30 23:09:34

标签: ios gmgridview

我有一个UIViewController,我将其设置为UINavigationController的rootviewcontroller。然后在viewcontroller中我创建一个像这样的gmgridview:

NSInteger spacing = 15;

GMGridView *gmGridView = [[GMGridView alloc] initWithFrame:self.view.bounds];
gmGridView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

[self.view addSubview:gmGridView];
_gmGridView = gmGridView;

_gmGridView.style = GMGridViewStyleSwap;
_gmGridView.itemSpacing = spacing;
_gmGridView.minEdgeInsets = UIEdgeInsetsMake(spacing, spacing, spacing, spacing);
_gmGridView.centerGrid = YES;
_gmGridView.actionDelegate = self;
_gmGridView.sortingDelegate = self;
_gmGridView.transformDelegate = self;
_gmGridView.dataSource = self;

如果我理解这一点,根据iOS7的UI指南,如果您使用UINavigationController,它会自动处理状态栏下的视图流。这似乎适用于大部分内容。如果我_gmGridView.backgroundColor = [UIColor blackColor],我可以看到网格视图没有溢出状态栏下方。但滚动时,GMGridViewCells会进入状态栏下方。我不明白为什么。

此图像显示黑色背景颜色的网格视图。请注意,状态栏背景不是黑色,这告诉我网格视图不会出现在它后面。

enter image description here

这个显示滚动

enter image description here

1 个答案:

答案 0 :(得分:1)

在iOS7中,状态栏是透明的。如果您不希望在状态栏后面显示内容,请将根视图的框架设置为距屏幕顶部约30,并确保clipsToBounds = YES

GMGridView *gmGridView = [[GMGridView alloc] initWithFrame:CGRectMake(0,30,self.view.bounds.size.width,self.view.bounds.size.height-30)];