我遇到了问题。
我有一个UIImageView
,我用CGAffineTransformMakeRotation()
对它做了一些轮换。
没问题。
但是当我用我的UIViewController
进行轮换时(纵向到横向和/或反向)。
我的UIImageView
被奇怪地修改了。
其框架变为:CGRectMake(50.f, 50.f, 150.f, 150.f)
到像CGRectMake(50.f, 123.2f, 1004.56f, 1530.456f)
我意识到当我在UIImageView
上进行不等于0,90,180或270
我认为这是因为UIViewController
改变了UIImageView
的矩形但是如何抑制
那种竞争
不幸的是我的视线在视觉上移动/改变。
那是我的问题,为什么我在这里谈论......
我谈到了frame
属性,因为我注意到它发生了奇怪的变化(随机变化),即使我将其更改为原始的frame
。视图似乎并没有“倾听”它。
我希望我很好。
有人提出解决方案吗?
答案 0 :(得分:2)
如果将视图的transform
属性设置为除了单位矩阵之外的任何内容(为了旋转它而必须完成),frame
属性将变为未定义且应忽略。这在文档中说明。它只是框架属性出错还是视图以某种意想不到的方式在视觉上移动/改变?
答案 1 :(得分:1)
从您的描述中不清楚,但听起来好像您的UIImageView
是您UIViewController
拥有的视图的子视图。除非你有理由不以这种方式管理它,否则我建议设置UIImageView
struts和spring(即它的autoresizingMask
)来表示所需的行为,然后允许父视图重新定位/调整UIImageView
的大小。