Это первый раз, когда я пытаюсь создать auto layouts constraints
программно, и вот мой код
- (void)viewDidLoad {
[super viewDidLoad];
UIView *view1 = [[UIView alloc]init];
view1.backgroundColor = [UIColor lightGrayColor];
[self.view addSubview:view1];
[view1 setTranslatesAutoresizingMaskIntoConstraints:NO];
NSDictionary *views = NSDictionaryOfVariableBindings(view1);
NSArray *constraints = [NSLayoutConstraint constraintsWithVisualFormat:@"|-[view1]-|" options:NSLayoutFormatDirectionLeadingToTrailing metrics:nil views:views];
NSArray *verticalConstraints = [NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[view1]-|" options:0 metrics:nil views:views];
[view1 addConstraints:constraints];
[view1 addConstraints:verticalConstraints];
}
Это то, что я пытаюсь сделать в коде.
И эта огромная ошибка, которую я получаю
2015-12-16 12:13:59.254 test5b[1138:430691] Иерархия представлений не подготовлена для ограничения: при добавлении в представление элементы ограничения должны быть потомками этого представления (или самого представления). Это приведет к сбою, если ограничение необходимо разрешить до сборки иерархии представлений. Перерыв на -[UIView(UIConstraintBasedLayout) _viewHierarchyUnpreparedForConstraint:] для отладки. 16.12.2015 12:13:59.259 test5b[1138:430691] Просмотр иерархии не подготовлен для ограничения. Ограничение: Иерархия контейнеров: > Представление не найдено в иерархии контейнеров: > Суперпредставление этого представления: ; layer = > 2015-12-16 12:13:59.260 test5b[1138:430691] * Завершение работы приложения из-за необработанного исключения «NSGenericException», причина: «Невозможно установить ограничение на представление. Ссылается ли ограничение на что-то вне поддерева представления? Это незаконно. ограничение: вид:>»* STRONG> Первый стек бросить вызов: (0x1829f4f5c 0x1975e7f80 0x1829f4ea4 0x183890ef4 0x18804c620 0x18804c428 0x18804c2d0 0x18804c194 0x188056504 0x183890aa0 0x18805330c 0x188056420 0x1000d65f0 0x187f63a0c 0x187fd2fcc 0x187fd2f68 0x1881f494c 0x188200de4 0x1829ac48c 0x1829abdc4 0x1829a9d28 0x1828d8dc0 0x18da2c088 0x187fb2f60 0x1000d6ab8 0x197e128b8) Libc ++ abi.dylib : завершение с необработанным исключением типа NSException (lldb)