如何仅在 iPhone 上旋转照片?

Posted

技术标签:

【中文标题】如何仅在 iPhone 上旋转照片?【英文标题】:How to rotate a photo on iPhone only? 【发布时间】:2015-07-17 03:42:36 【问题描述】:

我有一个 iPhone 应用程序正在我的 iPhone 和 iPad 上进行测试。在运行我的临时应用程序时,问题是在临时测试期间在我的 iPhone 4 上加载照片时,照片会在其一侧加载;照片可以在 iPad mini 上正常加载。

以下代码行成功地在 iPhone 上旋转了全屏图像,但在我在 iPad 上测试时却反过来旋转了图像。

//successfully rotates but also over rotates on iPad
PhotoView.transform=CGAffineTransformMakeRotation(M_PI*0.5);

有人可以帮我设置条件语句,以便我只能在 iPad 上使用我的 CGAffineTransforMakeRotation 代码行吗?

到目前为止,我已经尝试了以下条件语句,但由于某种原因它们不起作用:即只有 iPhone if 语句有效并覆盖 iPad if 语句,因此 iPhone 语句在两个设备上都执行。

//does not successfully set the bk for iPad but does for iPhone. The iPad statement is overridden and the iPhone statement is carried out on both platforms. Any ideas?

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)

第二个条件语句也不起作用...

if ([[UIScreen mainScreen] bounds].size.height == 480)
    
        // iPhone, iPod Touch
    
    if ([[UIScreen mainScreen] bounds].size.height == 568) 
        // iPhone 5
    
    if ([[UIScreen mainScreen] bounds].size.height ==  667) 
        // iP6
    
    if ([[UIScreen mainScreen] bounds].size.height ==  736) 
        // iP6+
    
    if ([[UIScreen mainScreen] bounds].size.height == 1024) 
        // iPad
    

我的问题:有没有人有代码可以在 iPhone 而不是 iPad 上旋转图像?

【问题讨论】:

【参考方案1】:

如果它是 iPhone 应用程序,它总是“在 iPhone 上”。即使在 iPad 上运行,它也在模拟模式下运行在虚拟 iPhone 上。它不可能在不同的设备上表现不同;据它所知,它只在一种设备类型上运行。

如果您不喜欢,请将其设为通用应用。现在它可以在 iPad 上本地运行,您的测试也可以运行了。

【讨论】:

好点,但为什么它首先加载(在 iPhone 上)而不是 iPad ?而且我认为无论构建设置如何,代码都可以检查当前设备?我会换成universal的,看看能不能流畅,谢谢。更新中...

以上是关于如何仅在 iPhone 上旋转照片?的主要内容,如果未能解决你的问题,请参考以下文章

在ios应用程序中更改位置iPhone时如何旋转照片[关闭]

Alamofire 上传仅在 iphone 6s plus 上崩溃

js处理iphone照片旋转问题

unity 在mac 中 怎么用触控板 让界面旋转

我的 iPhone 视频仅在纵向模式下播放

在 3rd 方 iPhone 应用程序中支持照片和视频的 AirPlay