4

我有一个自定义 UIView,可以根据 UISlider 的值进行缩放和旋转。缩放效果很好,很简单:

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

这是缩放的目的,因此也是它的预期行为,一个 2px 的框架将与剩余的视图一起放大或缩小。

您可以拥有一个具有框架颜色的视图,并在顶部设置一个小 4px/4px 且位于 2/2 处的视图,该视图在没有框架的情况下承载剩余视图。

然后相应地更改底层(框架)视图的框架。然后相应地缩放子视图。确保它保持居中或仍然从 (2/2) 开始。

于 2014-04-17T20:21:01.000 回答