2016-09-01 5 views
-2

私はオートレイアウトのUIViewを持っており、その幅を知る必要があります。 Swiftで幅を最も簡単に見つける方法を教えてください。実装インサイドSwiftでのUIViewの幅を確認

+3

'view.bounds.size.width' ...? – holex

答えて

-2

ビューあなたがビューに幅の制約を適用していると、あなたがのための出口を持っている場合あなたが

let width = yourView.bounds.width 

により任意のビューの幅を見つけることができます

override func layoutSubviews() { 
    super.layoutSubviews() 
    // you can get width of view in this function 
    print(self.frame.size.width) 
} 
+0

あなたのコードは本当にその質問に対する答えを持っていますか? – Vakas

+0

私は彼が欲しいと正確に答えると思います!あなたは私を捧げるのですか? – Giang

+0

私は私が探している距離を明確にしようと私の質問に画像を追加しました。私は 'Main.storyboard'に' UIView'を追加しました。私が望むその「UIView」の幅です。 – Niklas

2

を使用することができますあなたはそれを見つけることができます。 subViewsは、お使いのデバイスが向きを変えるたびに、後にも、それが呼び出された画面にレイアウトされた後、あなたの幅は異なるものになるよう、それが呼ばれるよう

let width = yourWidthConstraint.constant 
+0

これが答えです。それは簡単で簡単です。 – WMios

0

UIScreenフレームデータを取得するための適切な場所はviewDidLayoutSubviewsでありますあなたのユーザーが風景モードに入るとき。viewWillAppearの後に呼び出されます:

override func viewDidLayoutSubviews() { 
    super.viewDidLayoutSubviews() 

    let viewWidth = self.myView.bounds.width 

    } 
関連する問題