2

rootViewController の UIView に多数の UIView サブビューが含まれている単純なテスト アプリがあります。これらの UIView サブビューのそれぞれは、CAShapeLayer によって支えられています。

これらのサブビュー (点線領域内にある 4 つの形状..) によって作成されたコンポジションが、UIWindow に対して常に垂直方向および水平方向の中央に配置されるようにします。(左/右、上/下の余白の最小サイズは、向きが変わるたびに実行時に変更される可能性があります)

したがって、たとえば、ポートレートに回転する場合、図全体が中央に配置され、各 CAShapeLayer サブレイヤーがシャープなままになるように、これらの単一の形状のサイズを変更して再配置する必要があります (ラスターのサイズ変更だけでなく、パスのサイズを変更したい)

形状のパスの鮮明な外観を維持しながら、形状を常に中央に配置するように形状をサイズ変更/移動するための最良の手法は何でしょうか?

最終的に私にとっては、これに対する答えがあるとよいでしょう:サブビューを全体として縮小するにはどうすればよいですか? 私はそれらのサイズと相対的な位置を意味しますか?

ありがとう

4

1 に答える 1

1

CGPathCreateMutableCopyByTransformingPath()またはを使用-[UIBezierPath applyTransform:]して、パス内のすべてのポイントを再計算できます。

于 2012-05-05T12:16:50.407 に答える