1

我正在尝试用箭头制作容器。容器是UIView,箭头是UIImageView与父中心相对的定位。

我创建了一个带有背景图像按钮的“弹出框”并添加了一个箭头。它工作得很好。

一切都好

您会看到矩形边很锋利。

好的,让我们旋转。

混乱 1

笏。再转...

混乱 2

图像被缩放。甚至调整大小也不是一成不变的。但是所有框架都可以。

旋转前

2013-04-18 21:20:41.198 Project[15790:907] 
conta: {{124, 313}, {200, 49}}
content: {{0, 9}, {200, 40}}
arrow: {{87, 0}, {19, 9}}

旋转后

2013-04-18 21:22:06.717 Project[15790:907] 
container: {{161, 387}, {200, 49}}
content: {{0, 9}, {200, 40}}
arrow: {{87, 0}, {19, 9}}

那里发生了什么?我尝试了几乎所有的内容模式或其他方式。autoresizeSubviews关闭所有视图。

4

2 回答 2

2

旋转后,调用CGRectIntegral相关视图的框架。

问题的原因是你在像素之间结束,所以一切都被混叠了。这通常发生在例如视图居中时。

确认模拟器中发生这种情况的一种快速方法是检查 Debug > Color Misaligned Images。如果这些图像是彩色的,那么是的,它们是未对齐的:它们不是在整数像素坐标处绘制的。

于 2013-04-18T17:39:51.187 回答
0

如果计算箭头的高度,旋转前高度为 18 像素,旋转后高度为 19 像素。

所以当你缩放时,它会发生什么是抗锯齿并创建灰线。因此,您可以通过多种方式进行操作。这是一篇关于以正确方式调整大小的精彩帖子:

http://vocaro.com/trevor/blog/2009/10/12/resize-a-uiimage-the-right-way/

希望能帮助到你。

于 2013-04-18T17:49:04.453 回答