ipad 横向/纵向图像

Posted

技术标签:

【中文标题】ipad 横向/纵向图像【英文标题】:ipad landscape/ portrait image 【发布时间】:2012-09-07 02:24:05 【问题描述】:

我正在处理 ipad 应用程序开发的 UI 问题(关于图像)。我已经阅读了苹果开发网站上的一些文档,但我找不到任何相关信息。

图像文件是否有任何文件约定来区分系统应为横向/纵向加载哪个图像。因为我看到启动图像,我们可以使用“MyLaunchImage-Portrait.png”和“MyLaunchImage-Lanscape.png”。我曾尝试将“-Landscape”、“-Portrait”、“-Landscape~ipad”、“-Portrait~ipad”添加到其他图像以供一般使用,但失败了。

有没有人遇到过这个问题?

【问题讨论】:

【参考方案1】:

不幸的是,除了 iPad 的启动图像之外,没有标准的约定。但是,您可以使用NSNotificationCenter 来侦听方向更改事件并相应地响应它们。这是一个例子:

- (void)awakeFromNib

    //isShowingLandscapeView should be a BOOL declared in your header (.h)
    isShowingLandscapeView = NO;
    [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(orientationChanged:)
                                                 name:UIDeviceOrientationDidChangeNotification
                                               object:nil];


- (void)orientationChanged:(NSNotification *)notification

    UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;
    if (UIDeviceOrientationIsLandscape(deviceOrientation) &&
        !isShowingLandscapeView)
    
        [myImageView setImage:[UIImage imageNamed:@"myLandscapeImage"]];
        isShowingLandscapeView = YES;
    
    else if (UIDeviceOrientationIsPortrait(deviceOrientation) &&
             isShowingLandscapeView)
    
        [myImageView setImage:[UIImage imageNamed:@"myPortraitImage"]];
        isShowingLandscapeView = NO;
    

【讨论】:

这是我使用的方式,不必使用通知中心来检测方向变化: - (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration - (void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation

以上是关于ipad 横向/纵向图像的主要内容,如果未能解决你的问题,请参考以下文章

LaunchScreen.storyboard 中 iPad 启动画面的不同背景图像,用于横向和纵向模式

您是不是需要一个横向的 iPad 启动图像来用于仅是纵向的应用程序

iPad Pro 中的横向方向

支持 iPhone 6 和 iPhone 6+,针对 iPad 纵向和横向方向具有不同的启动/启动屏幕图像

为纵向和横向模式调整 UIImage 的大小

资产目录中的横向与纵向背景图像