我使用自動佈局而沒有sb和xib.But但最近我有一些問題。代碼自動佈局問題?
我不明白,我應該用它來實現以下兩種方法
- (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)]];
和兩個子視圖:廠景,view2。當我使用自動佈局來添加約束來描述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