2017-10-09 51 views
2

我已經開發了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

回答

5

您可以嘗試將contentInsetAdjustmentBehavior屬性設置爲Never

在斯威夫特,我有這樣的UICollectionView

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

在Objective-C,同樣適用於UITableView,設置它像這樣:

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

謝謝@Glenn,它適合我。 –

3

如果有人正在尋找與答案故事板,然後在故事板中選擇您的UITableView,並將內容嵌入到永遠不變,如下所示鏈接

enter image description here

相關問題