iOS Table 查看 XIB 布局问题

iOS Table View XIB layout issue

我已经在 Xcode 中声明了 x3 UITableView XIB interface builder:

然后我运行电流UIViewControlleriPad空气iOS模拟器:

如您所见,第一个 UITableView 视图的顶部单元格与第二个/第三个不同。

为什么会这样?

如何让这些UITableView'看起来一样?

好的,我知道了。重写 init 方法,如下所示:

- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        self.automaticallyAdjustsScrollViewInsets = NO;
    }
    return self;
}

您必须自己处理插图,因为此自动 属性 只能处理层次结构中 第一个 子视图的插图。

对于插图问题,创建这些属性:

@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;
}