ios - 屏幕旋转后UIImageView和UIButton困惑图像

原文 标签 ios objective-c uiimageview uibutton uikit

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

我用背景图片按钮创建了一个“弹出框”,并添加了一个箭头。它工作正常。

您会看到矩形的边很锋利。

好的,让我们旋转。

WAT。再次旋转...

图像按比例缩放。甚至大小调整也不是恒定不变的。但是所有框架都还可以。

旋转前

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已关闭。

最佳答案

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

该问题的原因是,您最终将在像素之间移动,因此所有内容都被混淆了。这通常发生在例如视图居中。

确认是否已在模拟器中发生的一种快速方法是检查“调试”>“颜色未对齐的图像”。如果这些图像是彩色的,则它们是未对齐的:它们不是在整数像素坐标处绘制的。

关于ios - 屏幕旋转后UIImageView和UIButton困惑图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16089414/

相关文章:

ios - 如何启用MPMediaItemArtwork的“下一个”/“上一个”按钮?

ios - 如何在UIImageView中设置透明背景色

iphone - 从 UIImageView 获取上下文

ios - swift中的枚举类

ios - 如何在iOS iOS的UICollectionView中创建无限滚动

ios - 使用prepareForSegue:sender:或tableView:didSelectedRowAtIndexPath移动到另一个 View Controller :

objective-c - iOS-类别实现文件中的 socket

iphone - AddressBook 框架的内存泄漏

ios - 在UIBarButtonItem中正确放置UIImageView

ios - 使用ShareKit将iOS应用发布到Facebook,为什么需要隐私政策?