Поскольку я обнаружил AutoLayout, я использую его везде, теперь я пытаюсь использовать его с tableHeaderView.
Я сделал subclass of UIView добавленный все (метки и т.д.). Я хотел с их ограничениями, затем добавил этот CustomView в UITableView 'tableHeaderView.
Все работает отлично, за исключением того, что UITableView всегда показывает выше CustomView, выше. Я имею в виду CustomView в < > UITableView, чтобы его не видно!
Кажется, что независимо от того, что я делаю, height UITableView 'tableHeaderView всегда 0 (так же, как ширина, x и y).
Мой вопрос: возможно ли вообще выполнить этот без установки рамки вручную?
РЕДАКТИРОВАТЬ:
CustomView 'subview, который я использую, имеет следующие ограничения:
_title = [[UILabel alloc]init];
_title.text = @"Title";
[self addSubview:_title];
[_title keep:[KeepTopInset rules:@[[KeepEqual must:5]]]]; // title has to stay at least 5 away from the supperview Top
[_title keep:[KeepRightInset rules:@[[KeepMin must:5]]]];
[_title keep:[KeepLeftInset rules:@[[KeepMin must:5]]]];
[_title keep:[KeepBottomInset rules:@[[KeepMin must:5]]]];
Я использую удобную библиотеку KeepLayout, потому что для записи ограничений вручную требуется навсегда и слишком много строк для одного ограничения, но методы самообучались.
И UITableView имеет следующие ограничения:
_tableView = [[UITableView alloc]init];
_tableView.translatesAutoresizingMaskIntoConstraints = NO;
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.backgroundColor = [UIColor clearColor];
[self.view addSubview:_tableView];
[_tableView keep:[KeepTopInset rules:@[[KeepEqual must:0]]]];// These 4 constraints make the UITableView stays 0 away from the superview top left right and bottom.
[_tableView keep:[KeepLeftInset rules:@[[KeepEqual must:0]]]];
[_tableView keep:[KeepRightInset rules:@[[KeepEqual must:0]]]];
[_tableView keep:[KeepBottomInset rules:@[[KeepEqual must:0]]]];
_detailsView = [[CustomView alloc]init];
_tableView.tableHeaderView = _detailsView;
Я не знаю, нужно ли мне устанавливать некоторые ограничения непосредственно на CustomView, я думаю, что высота CustomView определяется ограничениями на UILabel "title" в нем.
РЕДАКТИРОВАТЬ 2:. После очередного расследования кажется, что высота и ширина CustomView правильно рассчитаны, но верхняя часть CustomView все еще находится на том же уровне, что и верх UITableView, и они перемещаются вместе, когда я прокручиваю.