gpt4 book ai didi

ios - 水平角度的旋转问题

转载 作者:行者123 更新时间:2023-11-28 22:27:46 25 4
gpt4 key购买 nike

我正在开发一个 iOS 应用程序,我需要在其中旋转 6 个 UIView,以便它们始终“面向”用户。界面的其余部分不需要旋转。

下面的代码在模拟器中运行得非常好。但是,当我在手机上进行测试时,我遇到了问题。每当我将手机置于平面原点/水平时,它就会明白它应该回到纵向。知道这是怎么回事吗?

#pragma mark Rotation
- (BOOL)shouldAutorotate
{
return NO;
}

- (void)orientationChanged:(NSNotification *)notification
{
CGFloat rotationAngle = [self convertOrientationToRadians];

[UIView animateWithDuration:0.5 animations:^{
for (TimerButton *timerButton in self.timerButtons) {
timerButton.button.transform = CGAffineTransformMakeRotation(rotationAngle);
}
}];
}

- (CGFloat)convertOrientationToRadians
{
UIDeviceOrientation orientation = [UIDevice currentDevice].orientation;

CGFloat rotationAngle = 0.0;

switch (orientation) {
case UIDeviceOrientationPortrait:
rotationAngle = 0.0;
break;
case UIDeviceOrientationLandscapeLeft:
rotationAngle = M_PI / 2;
break;
case UIDeviceOrientationPortraitUpsideDown:
rotationAngle = M_PI;
break;
case UIDeviceOrientationLandscapeRight:
rotationAngle = - M_PI / 2;
break;
default:
break;
}

return rotationAngle;
}

最佳答案

旋转角度的默认值为 0,并且未明确处理 UIDeviceOrientationFaceUp 的情况。

或者,您可以调用 [[UIApplication sharedApplication] statusBarOrientation] 而不是 [UIDevice currentDevice].orientation

关于ios - 水平角度的旋转问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18448265/

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