我宣佈X3 UITableView
的在Xcode XIB Interface Builder的:的iOS表視圖XIB佈局問題
然後我產品iPad Air的iOS模擬器跑了當前UIViewController
:
如您所見,第一個UITableView
視圖的頂部單元格與s不同第二個三分之一。
這是爲什麼?
如何使這些UITableView
'看起來像一樣?
我宣佈X3 UITableView
的在Xcode XIB Interface Builder的:的iOS表視圖XIB佈局問題
然後我產品iPad Air的iOS模擬器跑了當前UIViewController
:
如您所見,第一個UITableView
視圖的頂部單元格與s不同第二個三分之一。
這是爲什麼?
如何使這些UITableView
'看起來像一樣?
好的,我明白了。重載init方法如下所示:
- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
self.automaticallyAdjustsScrollViewInsets = NO;
}
return self;
}
你必須採取的插圖的照顧自己,因爲這種自動屬性只能辦理層次結構中的第一子視圖的插圖。
我可以在XIB界面構建器中提供此選項嗎? –
僅當使用故事板時。 –
但是,這個選項使得我所有的視圖控制器都像第二個和第三個一樣工作(忽略導航欄)。是否有可能,每張桌子都像第一張桌子一樣? –
的插圖問題創建這些屬性:
@property (weak, nonatomic) IBOutlet UITableView *tableViewLeft;
@property (weak, nonatomic) IBOutlet UITableView *tableViewMiddle;
@property (weak, nonatomic) IBOutlet UITableView *tableViewRight;
,然後嘗試以下操作:
- (void)viewDidLayoutSubviews {
UIEdgeInsets inset = UIEdgeInsetsMake(self.topLayoutGuide.length, 0.0, 0.0, 0.0);
self.tableViewLeft.contentInset = inset;
self.tableViewMiddle.contentInset = inset;
self.tableViewRight.contentInset = inset;
}
你的答案對我來說都是正確的,即使我只能標記其中的一個。謝謝! –
你設置tableviews'數據源是視圖 - 控制?你是否實現了numberofrows和cellforrowatindexpath方法? –
沒有。它只是界面生成器。它沒有與數據源連接,但還沒有連接 –
。我可以重現這種行爲。對我來說看起來一樣!但只要你實現所需的數據源/委託方法,你應該沒問題! –