2016-05-12 7 views
0

Ich benutze die Demo über UIScrollView, und ich möchte anhängen UIView eine UIView nach dem UIScrollView init, wie: Ich habe eine Schaltfläche klicken, als es eine neue UIView an der Unterseite ist der UIScrollView. Also schreibe ich den Code wie folgt aus:Anfügen UIView in UIScrollView nach init von Mauerwerk

- (void)clickButton{ 
    UIView *new = [[UIView alloc]init]; 
    new.backgroundColor = [UIColor blueColor]; 
    new.mas_key = @"newView"; 

    [self.scrollView.contentView addSubview:new]; 
    [new mas_makeConstraints:^(MASConstraintMaker *make) { 
     make.top.equalTo(self.scrollView.lastBottom); 
     make.left.equalTo(@0); 
     make.right.equalTo(self.scrollView.contentView.mas_right); 
     make.height.equalTo(@50); 
    }]; 

    self.scrollView.lastBottom = new.mas_bottom; 

    [self.scrollView.contentView mas_updateConstraints:^(MASConstraintMaker *make) { 
     make.bottom.equalTo(self.scrollView.lastBottom); 
    }]; 
} 

Aber es immer noch ein Fehler wie

MASLayoutConstraint:0x7f97f431b360 UIView:content.bottom == UIView:newView.bottom 
MASLayoutConstraint:0x7f97f4341400 UIView:newView.top == UIView:newView.bottom 
MASLayoutConstraint:0x7f97f4341bb0 UIView:newView.height == 50 
MASLayoutConstraint:0x7f97f4315390 UIView:content.bottom == UIView:newView.bottom 

Will attempt to recover by breaking constraint 
MASLayoutConstraint:0x7f97f4341bb0 UIView:newView.height == 50 

Es bedeutet didnot ich meine Einschränkung aktualisieren, nachdem update.How das Problem zu lösen?

Antwort

0

Der Rahmen Ihrer Ansicht ist null, denke ich. Sie müssen die Position und die Größe festlegen, um angezeigt zu werden, und Ihre Einschränkungen sollten wie folgt aussehen.

Scroll: oben, unten, führt, nachlauf

Ansicht in Scroll (Seiten): oben, unten, führt, hintere, horizontale Mittel in Behältern und feste Höhe

und die Ansicht (neu) in der Containeransicht: oben, unten, führt, Hinter oder je nach Anforderung

Hope this wird :)

+0

Ich benutze die Mauerwerk (ein Framework über Autolayout), Wenn ich löschen die 'self.scrollView.lastBottom = new.mas_bottom;', gibt es den Block der neuen UIView. Aber ich kann nicht auf die neue UIView umziehen – Creator