CGAffineTransformMakeRotation 和 UIViewController Rotation 困境

发布于 2024-10-08 17:16:00 字数 658 浏览 1 评论 0原文

我有一个问题。 我有一个 UIImageView,我使用 CGAffineTransformMakeRotation() 对其进行一些旋转。 没问题。 但是当我用 UIViewController 进行旋转时(纵向到横向和/或反向)。 我的 UIImageView 被奇怪地修改了。

它的框架从:CGRectMake(50.f, 50.f, 150.f, 150.f) 变化 到像这样的框架:CGRectMake(50.f, 123.2f, 1004.56f, 1530.456f)

我意识到当我在 UIImageView 上进行旋转时进行 UIViewController 旋转时会发生变化 不等于 0、90、180 或 270

我认为这是因为 UIViewController 更改了 UIImageView 的矩形,但是如何抑制 不幸的是


,我的观点在视觉上发生了变化。 这就是我的问题,也是为什么我在这里谈论这个...... 我谈到了 frame 属性,因为我注意到它发生了奇怪(随机)的变化,即使我在原始 frame 之后更改了它。这个视图似乎并没有“听”它。 我希望我一切都好。 有人寻求解决方案吗?

I've got a problem.
I've an UIImageView and i do some rotation to it with CGAffineTransformMakeRotation().
Not problem with that.
But when i do a rotation with my UIViewController (portrait to landscape and/or inverse).
My UIImageView is modified strangely.

Its frame become change from :CGRectMake(50.f, 50.f, 150.f, 150.f)
to a frame like :CGRectMake(50.f, 123.2f, 1004.56f, 1530.456f)

I realize that changes happens when I do UIViewController rotation when i've done a rotation on my UIImageView not equal to 0, 90, 180, or 270

I think it's because the UIViewController change the rect of the UIImageView but how inhibit
that comportement


Unfortunately my view move/change visually.
That's my problem and why I'm talking about that here...
I spoke about the frame property because I notice it changed strangely (and randomly) and even if I changed it after to my original frame. The view doesn't seem 'listen' to it.
I hope I am well.
Anyone for a solution ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

樱花落人离去 2024-10-15 17:16:00

如果将视图的 transform 属性设置为除单位矩阵之外的任何内容(必须执行此操作才能旋转视图),则 frame 属性将变为未定义,应被忽略。文档中对此进行了说明。仅仅是框架属性出了问题还是视图也在以某种意想不到的方式在视觉上移动/改变?

If you set a view's transform property to anything but the identity matrix (which you must have done in order to rotate it), the frame property becomes undefined and should be ignored. This is noted in the documentation. Is it just the frame property that goes wrong or is the view moving/changing visually in some unexpected way as well?

尘世孤行 2024-10-15 17:16:00

从您的描述中不清楚,但听起来好像您的 UIImageViewUIViewController 拥有的视图的子视图。除非您有理由不以这种方式管理它,否则我建议设置 UIImageView 支柱和弹簧(即它的 autoresizingMask)来显示所需的行为,然后允许父视图来重新定位/调整 UIImageView 的大小。

It's not clear from your description, but it sounds as if your UIImageView is a subview of the view owned by your UIViewController. Unless you have a reason to not manage it this way, I'd suggest setting the UIImageView struts and springs (i.e., its autoresizingMask) to surface the desired behavior and then allow the parent view to reposition/resize the UIImageView.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文