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

标签 ios objective-c uiimageview uibutton uikit

我正在尝试制作带有箭头的容器。容器是UIView,箭头是UIImageView,定位在父中心的对面。

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

all is ok

您会看到矩形的边很尖。

好的,让我们旋转。

mess 1

哇。再次旋转...

mess 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}}

那里发生了什么?我尝试了几乎所有内容模式或其他任何模式。所有 View 上的 autoresizeSubviews 已关闭。

最佳答案

旋转后,在相关 View 的帧上调用 CGRectIntegral

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

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

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

相关文章:

ios - 我们可以从 swift 框架生成 Objective-C 静态库吗?

iOS:带边框颜色的圆角矩形

ios - 图像未在表格单元格上完美显示

iphone - iOS XML 解析多个文档

ios - 在后台线程上查找backgroundTimeRemaining

ios - 核心图 : unable to change pie chart position (displacement)

iphone - 从服务器下载高分辨率图像以进行视网膜显示的策略

objective-c - NSMappingModel 的编程创建

objective-c - xcodebuild 无法通过 Jenkins 启动 '/Applications/Xcode.app/Contents/Developer/Tools/otest'

ios - 如何在 Xcode 5 中制作不可见按钮?