2016-09-20 3 views
11

Xcode 8をインストールして以来、困っています。 それぞれまたはすべてのUIViewに対して正しい値を取得できませんでした。Xcode 8戻り値= 1000、UIviewの幅= 1000(実際のサイズは(328,40))

私はUIViewの制約警告も受け取りました。だから私はそれを更新する。 ビューは、幅または高さとして1000を返します。 私はたくさん試したり検索したりしました。しかし、適切な解決策はありませんでした。 pls助けてください。

答えて

14

としては、hereを述べ、あなたがviewDidLoadにあなたのビューのlayoutIfNeededを呼び出す必要があります:スウィフト3については

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [self.view layoutIfNeeded]; 

    // Now all your subviews are sized as you expect 
} 
+0

ありがとうございます。私はこれを試してみます。 – Sommm

+2

それは私のためにswiftのために働く - self.view.layoutIfNeeded() –

+0

は、textView inputAccessoryViewでは機能しません。しかし、私はinputAccessoryViewを設定する前に手動でフレームを設定することができると思います...しかし、私はハードコードが嫌いです:( – user2387149

1

:Xcodeの8中

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.view.layoutIfNeeded() 
} 
0

を、私が働いて完全にlayoutIfNeeded得ることができませんでした私はストーリーボードをXcode 7ファイルとして保存しなければなりませんでした。しかし、この問題はxcode8.1で修正されているようです see this comment here

関連する問題