我有一个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会进入状态栏下方。我不明白为什么。
此图像显示黑色背景颜色的网格视图。请注意,状态栏背景不是黑色,这告诉我网格视图不会出现在它后面。
这个显示滚动
答案 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)];