如何使用Objective C从iPhone X的表格视图顶部删除额外空间iOS

如何使用Objective C从iPhone X的表格视图顶部删除额外空间iOS

问题描述:

我已经开发了Objective C中的应用程序,它在所有iPhone手机中都能正常工作。但是当我在iPhone X模拟器中运行这个应用程序时,我不知道如何在UITableView的顶部获得一些额外的空间(大约20-22像素)。我想这一切的解决方案,但没有下文帮我:如何使用Objective C从iPhone X的表格视图顶部删除额外空间iOS

self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, self.tableView.bounds.size.width, 0.01f)]; 

self.edgesForExtendedLayout = UIRectEdgeNone; 

[tblProducts setSectionHeaderHeight:0]; 

self.automaticallyAdjustsScrollViewInsets = NO; 

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { 
    return CGFLOAT_MIN; 
} 

-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { 
    return CGFLOAT_MIN; 
} 

我知道这可以通过设置我的表视图contentInset就像是可能的:

tblProducts.contentInset = UIEdgeInsetsMake(-30, 0, 0, 0); 

是否有任何其他解决方案来解决这个问题的iPhone X?

我在ViewDidLoad中检查了我的表格视图框架,它是(0,64,WIDTH,HEIGHT),状态栏有问题吗?

请给我建议。先谢谢你!

+0

您是否设置了正确的启动屏幕iPhone x – iPatel

+0

@iPatel否,我没有设置iPhone x启动屏幕。 –

+0

请先设定好\t 1125px×2436px – iPatel

您可以尝试将contentInsetAdjustmentBehavior属性设置为Never

在斯威夫特,我有这样的UICollectionView

if #available(iOS 11.0, *) { 
    collectionView.contentInsetAdjustmentBehavior = .never 
} 

在Objective-C,同样适用于UITableView,设置它像这样:

if (@available(iOS 11.0, *)) { 
    [_tableView setContentInsetAdjustmentBehavior: UIScrollViewContentInsetAdjustmentNever]; 
} 
+0

谢谢@Glenn,它适合我。 –

如果有人正在寻找与答案故事板,然后在故事板中选择您的UITableView,并将内容嵌入到永远不变,如下所示链接

enter image description here