これは特定のコードを参照するものではありませんが、レイヤーに影が追加されたUIViewを使用すると、はるかに遅い/不安定な。シャドウが表示されているときにiOS画面の回転が低下する
誰かがこの問題に気づいたか、回避策を見つけましたか?
これは特定のコードを参照するものではありませんが、レイヤーに影が追加されたUIViewを使用すると、はるかに遅い/不安定な。シャドウが表示されているときにiOS画面の回転が低下する
誰かがこの問題に気づいたか、回避策を見つけましたか?
CPU時間が非常に高価なものがあります。インストゥルメントでしばらくそれをチェックしてください。
。私はグラデーションもそこにあると思う。
アニメーションや再描画の品質が悪化している場合は、UIViewController
の方法で切り替える必要があります。
-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
//disable shadows + expensive drawing
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
//enable shadows + expensive drawing
}
影を使用する場合は、CALayer
のshadowPath
特性は、特に新しいiPadの性能が非常に(!)顕著な違いを、作ります。ディスプレイの向きを変更するときにシャドウを無効にすることをお勧めしますが、shadowPath
(まだ使用していない場合)を試してみる価値があります。パスは任意の有効なCGPathRef
でもかまいませんが、ほとんどの場合、これは必要なものです。
self.layer.shadowPath = [UIBezierPath bezierPathWithRect:self.layer.bounds].CGPath;
ありがとうございます。パフォーマンスがそれほど低下するのは本当に悪いことです。おそらく、組み込みのシャドウレンダリングを使用する代わりに、あらかじめ作成されたUIImageのシャドウをビューの下に表示します。 –