如何避免在设备旋转时将图像视图更改为旋转

发布于 2024-10-19 02:55:49 字数 49 浏览 3 评论 0原文

如何避免在设备旋转时将图像视图更改为旋转。我有图像视图,当设备方向改变时我不想旋转。

How can I avoid changing image view to rotate when device is rotated. I have image view which i don't want to rotate when device orientation is changed.

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

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

发布评论

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

评论(3

拿命拼未来 2024-10-26 02:55:49

如果您的意思是希望整个视图自动旋转(图像视图除外),那么您基本上可以手动将图像视图旋转回正常状态,而其他所有视图都会自动旋转。

您可以在 willAnimateRotationToInterfaceOrientation:duration: 中执行此操作。对要旋转的视图应用变换。

- (void) willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
                                         duration:(NSTimeInterval)duration 
{
    [UIView beginAnimations:@"controlMovement" context:nil];
    [UIView setAnimationDuration:duration];
    if( interfaceOrientation == UIInterfaceOrientationPortrait || 
        interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown ) {
        myImageView.transform = CGAffineTransformIdentity;      
    } else {
        myImageView.transform = CGAffineTransformMakeRotation( M_PI / 2 );
    }   
    [UIView commitAnimations];
}

If you mean that you want the whole view to autorotate, except for your image view, then you can basically just manually rotate the image view back to normal whilst everything else autorotates.

You can do this in willAnimateRotationToInterfaceOrientation:duration:. Apply a transform to the view you want rotated.

- (void) willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
                                         duration:(NSTimeInterval)duration 
{
    [UIView beginAnimations:@"controlMovement" context:nil];
    [UIView setAnimationDuration:duration];
    if( interfaceOrientation == UIInterfaceOrientationPortrait || 
        interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown ) {
        myImageView.transform = CGAffineTransformIdentity;      
    } else {
        myImageView.transform = CGAffineTransformMakeRotation( M_PI / 2 );
    }   
    [UIView commitAnimations];
}
喜爱皱眉﹌ 2024-10-26 02:55:49

我认为您应该检查 UIImageOrientation 然后进行更改或进行转换。

好吧,否则可以更好地帮助你,这只是我的想法

I think you should check for UIImageOrientation and then make the change or give transformation.

Well else could help you better,its just my idea

め七分饶幸 2024-10-26 02:55:49

简单的。我会创建一个旋转动画来补偿方向的变化

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation) toInterfaceOrientation 方法中。

根据toInterfaceOrientation值,您可以计算旋转变换的角度。

Easy. I'd create a rotation animation that would compensate the change of orientation
in

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation) toInterfaceOrientation method.

Based on toInterfaceOrientation value you can calculate the angle for your rotation transformation.

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