旋转 uiimageview 时出现问题

Posted

技术标签:

【中文标题】旋转 uiimageview 时出现问题【英文标题】:Prob when rotating an uiimageview 【发布时间】:2011-12-16 09:34:34 【问题描述】:

当我使用 uiimageview 时,我想以一个小角度旋转它,我做到了。但是,旋转后的uiimageview的边框会出现尖刺,像锯子一样。我不知道为什么并尝试修复它,但我不能。请帮帮我。

【问题讨论】:

你能把你的图片或其他的东西发给我们吗? 【参考方案1】:

几个选项..

1) 如果您使用 Core Graphics 功能旋转,您可以启用抗锯齿选项

CGContextSetAllowsAntialiasing(context, true);
CGContextSetShouldAntialias(context, true);

2) 为您的图像的所有 4 面添加一个 1 像素的透明边框。

还有一件事,您看到的尖峰有一个技术术语,它是混叠。防止混叠的技术称为抗混叠技术。希望这会有所帮助。

【讨论】:

@kent 不要忘记接受对您有帮助的答案 - 这就是 *** 的工作方式和帮助他人的方式。【参考方案2】:

谢谢大家 :) 我的朋友向我展示了另一种修复它的方法。我认为这种方式比使用透明边框技巧更好。他将 info plist 文件中的一个属性“Renders with edge antialiasing”更改为 YES。一切都会好起来的:)。我希望它会帮助有人和我有同样的问题:)

【讨论】:

【参考方案3】:

将 UIView 作为 subView 并将 UIImageView 放在 subView 上。 保持 subView 和 UIImageView 的大小相同。

现在,将“UIViewAnimationTransitionFlipFromRight”或“UIViewAnimationTransitionFlipFromLeft”与计时器一起使用。

【讨论】:

【参考方案4】:

您可以轻松地在图像周围添加一个 1 像素的透明边框。因此,如果您的图像是 50x50 像素,您需要将其设置为 52x52 以使外部像素透明。当你旋转它现在应该看起来很好。

【讨论】:

以上是关于旋转 uiimageview 时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式设置动态uiimageview时出现LayoutConstraint错误

使用 performSegueWithIdentifier 时出现 Swift UIImageView 错误

自动旋转时出现 UIPopOverController 问题

当我尝试将 TapGestureRecognizer 添加到我的 UIImageView 时出现此错误:Unrecognized selector sent to class

旋转内部有动画的对话框时出现问题

在 iOS 7 中显示 UIAlertView 时出现旋转问题