Я использую autolayout без sb и xib. Но у меня есть некоторые проблемы в последнее время.проблемы с автозапуском по коду?
я не понимаю, какое представление я должен использовать, чтобы реализовать следующие два метода
- (void)addConstraint:(NSLayoutConstraint *)constraint
- (void)addConstraints:(NSArray<__kindof NSLayoutConstraint *> *)constraints
, например, у меня есть супер вид, как следующее:
_menuView = [[UIScrollView alloc] init];
_menuView.translatesAutoresizingMaskIntoConstraints = NO;
[self.view addSubview:_menuView];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[_menuView]-0-|" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_menuView)]];
[self.view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[_menuView(40)]" options:0 metrics:nil views:NSDictionaryOfVariableBindings(_menuView)]];
и двух подвидов: view1 , view2.When я использовать autolayout, чтобы добавить ограничения для описания view1 и view2,
[WHICHVIEW addConstraint:<#(nonnull NSLayoutConstraint *)#>];
или [WHICHVIEW addConstraints: < # (nonnull NSArray < __kindof NSLayoutConstraint *> *) #>];
Какой должен быть WHICHVIEW? Позвольте мне сказать по-другому: WHICHVIEW зависит от отношения между view1 и view2? Что, если view1 не является той же иерархией, что и view2?
Как давно @rayesquire нацелился на iOS 8 и выше, я согласен. Если нет, вы должны использовать addConstraint (s) и представление, являющееся родительским для всех представлений, которое оно добавляет. –
@MattHorst Согласен. – matt