2016-09-26 89 views
7

我的應用程序中有一個簡單的UITableView,並且有一個tableView.tableHeaderView屬性的自定義視圖。設置此屬性時,視圖具有正確的大小(全寬,約45px高)。iOS中的UITableView標題視圖重疊單元格10

[_resultHeaderView sizeToFit]; // the view as the correct frame 
[_resultTableView setTableHeaderView:_resultHeaderView]; 

在iOS系統9和之前的版本中,頭部顯示正確,但在IOS 10中,細胞開始在相同的Y座標作爲我的頭部視圖,因此我的頭視圖顯示在所述第一小區。

設置這些屬性還沒有任何效果:

self.edgesForExtendedLayout = UIRectEdgeNone; 
self.automaticallyAdjustsScrollViewInsets = NO; 

有事在iOS的10變,可以解釋這種不同的行爲?什麼是一個好的解決方案?

由於

+0

它不是一個部分的標題,而是整個tableview標題。 (這些部分沒有標題)。我指的是這個:https://developer.apple.com/reference/uikit/uitableview/1614904-tableheaderview?language = bjc。另外,我的設置在iOS 9及以下版本中運行,所以我不認爲這是問題... – invalidArgument

+0

爲什麼這個問題得到-1?這將是很好的解釋,所以我可以提高我的參與... – invalidArgument

回答

6

該缺陷是以下事實,即,當它被附連到所述的tableView,這說明了其行爲視圖正在自動調整大小,因此其幀高度確實是0。

將autoresizingMask設置爲none無法修復此錯誤。

_headerView.autoresizingMask = UIViewAutoresizingNone

同樣,在IOS 9及以下是沒有必要的。希望這可以幫助別人。

+0

謝謝你!這是一個棘手的:) –

+9

設置一個UIViewAutoresizing值到UIViewAutoresizingNone在Swift 3中,將其設置爲[] –