2017-03-16 1 views
0

제약 조건이있는 xib가 있고 xbu를 추가 한 scrollView가있는 내 autolayout 스토리 보드에 viewController가 있습니다.내가 이것을 UIViewController의 스크롤에 추가 할 때 Ho는 xib의 제약 조건을 유지할 수 있습니까?

내 XIB는 제약이 있지만, 나는 스토리 보드 자동 레이아웃에 XIB를 추가 할 때 콘센트

내가 XIB 만들려면이 기능을 사용하여 ... 위치 및 크기, 그것은 자신의 제약을 잃고을 변경

- (id)initWithFrame:(CGRect)frame { 
    self = [super initWithFrame:frame]; 

    if (self) { 

     [email protected]"myViewXib"; 

     [self addSubview: 
     [[[NSBundle mainBundle] loadNibNamed:@"myViewXib" owner:self options:nil] objectAtIndex:0]]; 
     [self setNeedsLayout]; 

    } 
    return self; 
} 

그리고 이것은 viewDidLoad에 내 스토리 보드에 XIB를로드하는 기능입니다 :

MyViewXib *myView = [[MyViewXib alloc] initWithFrame:CGRectMake(self.scroll.frame.origin.x, self.scroll.frame.origin.y, self.scroll.frame.size.width, self.scroll.frame.size.height)]; 
[myView setFrame:CGRectMake(width*count++, 0, width, height)]; 
[self.scroll addSubview:myView]; 
[self.scroll layoutSubviews]; 

enter image description here

enter image description here

내 코드가 잘못되었습니다. 제약 조건이 작동하지 않는 이유는 무엇입니까?

감사합니다.

답변

0

viewDidLoad 메서드에 하위 뷰 코드를 추가하는 대신 viewDidLoad 메서드에서 뷰 컨트롤러의 뷰가 정확한 프레임을 갖고 있지 않으므로 viewDidLoad 메서드에 추가하여 하위 뷰 코드를 추가 할 수 있습니다.

관련 문제