2017-03-16 10 views
0

私は制約付きのxibを持っていますが、私はxolを追加したscrollViewを使って私のautolayoutストーリーボードにviewControllerを持っています。UIViewControllerのスクロールにこれを追加すると、ホブは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メソッドに追加サブビューコードを配置する代わりに、viewDidAppearメソッドに配置して試すことができます。

関連する問題