iPad强制横屏下访问相册会奔溃的问题

解决步骤
app

1,为 UIImagePickerController 添加类别以下spa

@interface  UIImagePickerController (LandScapeImagePicker).net

- (BOOL)shouldAutorotate;orm

- (NSUInteger)supportedInterfaceOrientations;get

@end it

#import "UIImagePickerController+LandScapeImagePicker.h"io

@implementation UIImagePickerController (LandScapeImagePicker)import



- (BOOL)shouldAutorotate {变量

    return YES;object

}


- (NSUInteger)supportedInterfaceOrientations {

    returnUIInterfaceOrientationMaskAll;

}


@end


同时在打开相册控制类中添加以下控制代码

bAlbumListViewStatus 全局变量  (写单例类里)

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info

{

    bAlbumListViewStatus = NO;

    [picker dismissViewControllerAnimated:YES completion:nil];

    UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];

    

    //[self uploadImageWithImage:image];


    

}

-(void)imagePickerControllerDidCancel:(UIImagePickerController *)picker

{

     bAlbumListViewStatus = NO;

    [picker dismissViewControllerAnimated:NO completion:nil];

}


弹出相册的地方代码修改以下

  UIImagePickerController *picker = [[UIImagePickerController allocinit];

    

    picker.delegate         = self;

    picker.sourceType       = sourceType;

    picker.allowsEditing    = YES;

    bAlbumListViewStatus    = YES;//

    [self presentViewController:picker animated:YES completion:nil];


2,在app delegate里添加方向支持


- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window

{

    if (bAlbumListViewStatus)//全局变量,定义是否打开相册

        return UIInterfaceOrientationMaskAll;

    else

        return UIInterfaceOrientationMaskLandscapeLeft;


}


完成如上后便可解决了

相关文章
相关标签/搜索