gpt4 book ai didi

ios - 根据 UIView 在屏幕上的 x 位置增量旋转 UIView

转载 作者:行者123 更新时间:2023-11-29 03:38:46 27 4
gpt4 key购买 nike

我想使用 imageView.transform = CGAffineTransformMakeRotation( Degrees * M_PI/180); 在 iPhone View 长度范围内将 UIImageView 旋转 90 度;,并且想知道当用户向左拖动 View 时我如何实现这一点(因此如果 View 向右拖动,也能够“向后”旋转)。谢谢!

enter image description here

最佳答案

关于移动 View ,您可以通过更新其 frame 属性来实现,如下所示。-

view.frame = CGRectMake(view.frame.origin.x + xOffset, view.frame.origin.y, view.frame.size.width, view.frame.size.height);

您还可以添加一个观察者来监听您的 View 框架变化。-

[view addObserver:self forKeyPath:@"frame" options:NSKeyValueObservingOptionOld context:NULL];

在这里,您基本上要求在对象 view 的属性 frame 发生变化时接收通知。您可以通过以下方法处理该通知。-

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
if([keyPath isEqualToString:@"frame"]) {
// Change object rotation depending on frame.origin.x
}
}

您必须进行一些数学计算才能根据 x 位置计算旋转。另外,我想沿其中心旋转 View 有点棘手,也许您会发现下面的帖子很有用。-

http://www.informit.com/blogs/blog.aspx?uk=Ask-Big-Nerd-Ranch-Rotating-an-iPhone-View-Around-a-Point

问题是,您不必担心平移到哪里,因为 View 旋转会在每次更改时根据其位置进行更新。

希望对您有所帮助:)

关于ios - 根据 UIView 在屏幕上的 x 位置增量旋转 UIView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18775162/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com