2016-05-30 17 views
0

私はビューコントローラにUIViewオブジェクトを持っており、CALayerオブジェクトをUIViewオブジェクトに追加したいと考えています。 UIViewオブジェクトの自動レイアウト設定は次のようになります。 ( Link 1 Link 2(グレーRECTはUIViewのオブジェクトがある)bounds.sizeは正しいリアルタイムサイズを取得できません

私はCALayerのオブジェクト(myCAlayer)のサイズを設定し、UIViewのオブジェクトにこれを追加しました(申し訳ありませんが、私が代わりにリンクをクリックしてください、まだPIXを埋め込むことはできません) myUIView)に次のコードを入力します。

myCALayer.frame = myUIview.layer.bounds 
myUIview.layer.addSublayer(myCALayer) 

私はmuCALyerがmyUIViewを正確に満たすことができると予想しました。 myCALayer(灰色の範囲)はmyUIView(緑色の線)を超えていました。これはttp://imgur.com/V4AN1Uyを参照してください(手動でこのリンクを開くことはできません。 500.0 - 高さ:幅= 500が算出したものと思わ380.0

- :

サイズ:幅CGSize * po myUIview.layer.boundsことで

、私はCGSizeがあることがわかりました600〜2 * 50(自動レイアウトでのView Controllerのデフォルトの幅は600です)ではなく、アプリが実行されていたときの実際のmyUIViewの幅です。実際のものははるかに狭くなければなりません。また、高さも同じ問題を抱えています。

実際の幅/高さを得る方法はありますか?ありがとうございました!

答えて

0

解決されました。

myCALayer.frame = myUIview.layer.bounds 
myUIview.layer.addSublayer(myCALayer) 

問題は、上記のコードがviewDidLoad()メソッドにあったことにあります。 しかし、viewDidAppear()に移動する必要があるようです。今問題は修正されました。

おそらく、レイアウトはまだviewDidLoad()では完了していませんが、viewDidAppear()では終了している可能性があります。

+0

あなた自身の回答を受け入れる必要があります –

関連する問題