2016-07-27 10 views
2

私はこれを省略しようとします。 viewDidLayoutSubviewsいくつかのビューにコーナー半径を適用するには、いくつかの方法があります。UIViewController s。 layoutSubviewsカスタム:UIViewでも同じことをしています。iOS10でのレイアウトの問題

Xcode 8 Betaをインストールした後、これは予期せず動作しなくなりました。デバッグ中に即時た一つのことはviewDidLayoutSubviewsの最初の呼び出し時に、境界が内のビューのためにゼロであるということであった、それが動作 いくつかの回、他はすべてではない、他の人はまだ、遅延で動作します...

質問。 2番目の呼び出しでは、境界が正しいです。事は、私が言ったように、第二の呼び出しは(目に見える)遅れを持つか、まったく起こらないかです。

任意のポインタ? ありがとうございます。

ベスト、 レナート。

答えて

1

あなたはlayoutSubviewsviewDidLayoutSubviewsで行わ通話を負いかねますiOSの10で、私の知る限り...誰かが同じ問題にバンプ念のために、

を自分の質問に答えますなどがメインスレッドで呼び出されます。

だから、答えは単純にUIがディスパッチブロック(新しいiOSの10 sintax)に呼び出しをラップしているようだ:

DispatchQueue.main.async { 
     // Do UI stuff here... 
     } 

は、それが誰かのために有用であると思います:)

敬具、

Renato。

+0

これはバグのように聞こえるので、レーダーを提出する必要があります – jrturton

+0

これは私を助けましたが、明らかに私たちはこれをやるべきではありません。レーダーを提出しましたか? – damjandd

+0

また、コードを "drawRect"に移動すると、ディスパッチコードがなくても機能します。 – damjandd