4

UISlider の値に基づいてスケーリングおよび回転できるカスタム UIView があります。スケーリングはうまく機能しています。

self.myView.transform = CGAffineTransformScale(CGAffineTransformIdentity, sx, sy);

私の UIView には 2px の境界線があります:

self.layer.borderColor = [UIColor whiteColor].CGColor;
self.layer.borderWidth = 2.0f;

ただし、ビューを大きくすると、境界線のサイズも大きくなります。ビューのスケールを無視する一貫した境界線を維持するにはどうすればよいですか?

4

2 に答える 2

4

ビューのスケーリングを変更すると...:

self.layer.borderWidth = 2.0f / scaleFactor;
于 2014-04-17T20:30:11.843 に答える
0

2 ピクセルのフレームが残りのビューと共に拡大または縮小されるのは、スケーリングの目的であり、したがって予想される動作です。

フレームの色で 1 つのビューを作成し、4px/4px 小さくて 2/2 に位置するビューを上に設定し、フレームなしで残りのビューを運ぶことができます。

次に、下にある (フレーム) ビューのフレームをそれに応じて変更します。次に、それに応じてサブビューをスケーリングします。中央に配置されているか、(2/2) から始まっていることを確認してください。

于 2014-04-17T20:21:01.000 に答える