2016-04-27 5 views
1

私はiosアプリケーションを作成していて、ストーリーボードの代わりにxibファイルを使用しています。最初は、自動レイアウトを使用する必要はありませんでした。すべてのiphoneデバイスが似通った形で機能しました。しかし、私がassestsを通して起動画面を追加するとすぐに、iphone 5だけが正しいレイアウトを持っています(xibファイルサイズは4インチに設定されているため)。しかし、任意の大きい画面サイズのみ左上隅は、以下のように覆われている:左上のiosを覆う代わりに、画面全体をカバーするxibファイル

enter image description here

私はビューが画面全体をカバーしたいです。トップにはビューがありますが、私はそれに制約を加えることはできません。ビューの中には画面全体をカバーするイメージビューがあります。そこで、4つの制約を追加し、4つの辺を0に固定して、画像ビュー全体が画面全体をカバーするようにしました。しかし、それはまだ動作しません。スクリーン全体がカバーされるように私は何ができますか?

+0

_launch screen_の前に画面がiOSによってスケールアップされていて、iPhone6/6の適切な画面サポートを行っていない。今すぐ_launch画面で_iOSはアップサンプリングをしません、レイアウトの複数の画面にレイアウトを採用するために自動レイアウトでインターフェイスを設定する必要があります - あなたのアプリが左上隅にあるように見える理由です;それはxib対ストーリーボードの問題ではない、制約は配備されなければならない。 – holex

答えて

0

フレームを設定しようとしましたか?

NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"xibFileName" owner:nil options:nil];   
[[array objectAtIndex:0] setFrame:self.view.frame]; // Trick here: set the main view frame 

これは私の場合で働いていた:あなたはそこに制約を設定する必要が.xibファイルの内部itensについて

// Create a Container 
    UIView *container = [[UIView alloc] initWithFrame:self.view.frame]; 
    container.backgroundColor = [UIColor clearColor]; 

// Add .xib file on top of the screen 
    NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"xibFileName" owner:nil options:nil];   
    [container addSubview:[array objectAtIndex:0]]; 

// Add container to main view 
    [self.view addSubview:container]; 

を。

関連する問題