美文网首页程序员
iOS 横屏调用相册

iOS 横屏调用相册

作者: a437e8f87a81 | 来源:发表于2017-08-15 17:58 被阅读0次

    问题:最近在iPad开发中遇到的一个调用相册的横竖屏问题,正常调用相册不管iPad是横竖屏,开启的相册都是竖屏的---不多说直接上代码

    解决:给UIImagePickerViewController写一个category 实现以下代码

    #import<UIKit/UIKit.h>

    @interface UIImagePickerController (MyImagePicker)

    - (BOOL)shouldAutorotate;

    - (NSUInteger)supportedInterfaceOrientations;

    @end

    #import "UIImagePickerController+MyImagePicker.h"

    @implementation UIImagePickerController (MyImagePicker)

    - (BOOL)shouldAutorotate {

    return YES;

    }

    - (NSUInteger)supportedInterfaceOrientations{

    return UIInterfaceOrientationMaskLandscape;

    }

    @end

    然后-->开启相册的时候通知Appdelegate,实现UIInterfaceOrientationMask=UIInterfaceOrientationMaskAll 如下代码

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    _myInterfaceOrientation = UIInterfaceOrientationMaskLandscape;

    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(changeDirection:) name:@"changeDirection" object:nil];

    return YES;

    }

    - (void)dealloc{

    [[NSNotificationCenter defaultCenter] removeObserver:self];

    }

    - (void)changeDirection:(NSNotification *)notice{

    if ([notice.object isEqualToString:@"0"]) {

    _myInterfaceOrientation = UIInterfaceOrientationMaskLandscapeRight;

    }else{

    _myInterfaceOrientation = UIInterfaceOrientationMaskAll;

    }

    }

    - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{

    return _myInterfaceOrientation;

    }

    最后-->(代码思路,如果有相同之处,不是故意为之)以下是demo地址:demo

    相关文章

      网友评论

        本文标题:iOS 横屏调用相册

        本文链接:https://www.haomeiwen.com/subject/ccijvttx.html