美文网首页
iOS13适配

iOS13适配

作者: 勤的空间 | 来源:发表于2020-08-03 16:16 被阅读0次

一、状态条获取,旧方法会闪退,修改如下:

if (@available(iOS 13.0, *))    {
        UIWindow *keyWindow = [UIApplication sharedApplication].windows[0];
        statusBar = [[UIView alloc]initWithFrame:keyWindow.windowScene.statusBarManager.statusBarFrame] ;
        [keyWindow addSubview:statusBar];
} else {
        statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];
}

二、performSegueWithIdentifier跳转 UIViewController 不全屏,解决方法:
需要设置目的 UIViewController 的modalPresentationStyle为UIModalPresentationFullScreen
在源 UIViewController 加代码:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    UIViewController *vc = segue.destinationViewController;
    vc.modalPresentationStyle = UIModalPresentationFullScreen;
}

三、拍照返回图片获取路径,之前的PHImageFileURLKey返回空了
解决方法:
1、writeImageToSavedPhotosAlbum方法保存UIImage到相册
2、从回调的assetURL 中取到图片 id
3、PHAsset的fetchAssetsWithLocalIdentifiers方法获取PHAsset
4、PHAsset的requestContentEditingInputWithOptions方法获取图片路径
代码如下:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{
    UIImage *image = info[UIImagePickerControllerOriginalImage];
    
    ALAssetsLibrary *lib = [[ALAssetsLibrary alloc] init];
        
    __weak typeof(self) weakSelf = self;
    //保存图片
    [lib writeImageToSavedPhotosAlbum:[image CGImage] orientation:(ALAssetOrientation)[image imageOrientation] completionBlock:^(NSURL *assetURL, NSError *error){

       //获取图片 id
        NSURLComponents *urlComponents = [[NSURLComponents alloc] initWithString:assetURL.absoluteString];
        NSString *usePath = @"";
        for(int i=0;i<urlComponents.queryItems.count;i++){
            if ([urlComponents.queryItems[i].name isEqualToString:@"id"]){
                usePath =urlComponents.queryItems[i].value;
                break;
            }
        }
        //根据图片 id 获取PHAsset
        PHFetchResult * re = [PHAsset fetchAssetsWithLocalIdentifiers:@[usePath] options:nil];
        [re enumerateObjectsUsingBlock:^(PHAsset * _Nonnull asset, NSUInteger idx, BOOL * _Nonnull stop) {

          //根据PHAsset调用requestContentEditingInputWithOptions获取url
            PHContentEditingInputRequestOptions *editOptions = [[PHContentEditingInputRequestOptions alloc] init];

            [asset requestContentEditingInputWithOptions:editOptions completionHandler:^(PHContentEditingInput *contentEditingInput, NSDictionary *info) {
                if (contentEditingInput.fullSizeImageURL) {
                    NSLog(@"Image path: %@", contentEditingInput.fullSizeImageURL);
                }else{
                    NSLog(@"Error retrieving image filePath, heres whats available: %@", info);
                }
            }];
        }];
    }];
    
    [picker dismissViewControllerAnimated:YES completion:NULL];

}

相关文章

  • iOS13 适配问题 看这一篇就够了

    技术参考: apple login IOS13适配-详细 iOS 13 适配(持续更新中) iOS13适配 掘金 ...

  • iOS 13适配

    技术参考: apple login IOS13适配-详细 iOS 13 适配(持续更新中) iOS13适配 掘金 ...

  • 暗黑模式开发

    iOS13暗黑模式适配(项目开发版) iOS 13 DarkMode 暗黑模式 IOS 暗黑模式适配---基础适配

  • iOS13适配更新总结

    前言: iOS13的API的变动和适配问题,我从新特性适配、API 适配、方法弃用、工程适配、SDK 适配、其他问...

  • iOS13适配研究

    iOS13今年秋季会发布,最近深入研究了下公司APP适配iOS13的注意点,适配如下。 1.由于Xcode10移除...

  • iOS13适配

    参考: iOS13 适配踩坑 - 持续更新 iOS 13 适配要点总结 iOS 13 适配要点总结 1、prese...

  • iOS13适配(更新中)

    对于iOS13适配汇总以及遇到的问题注意:以下适配内容,必须适配的会以"必须"标出 1. Dark Model(必...

  • 关于WRNavigationBar iOS12、iOS13导航栏

    集成WRNavigationBar 适配iOS12 iOS13导航栏问题 在修复iOS13下在iPhone11机型...

  • 关于WRNavigationBar iOS12、iOS13导航栏

    集成WRNavigationBar 适配iOS12 iOS13导航栏问题 在修复iOS13下在iPhone11机型...

  • 2019--09iOS13适配

    iOS13适配iOS13更新后对Ai定损、一车一件项目进行适配 做了一下调查 1 2 3 4 5 6 目前调研的只...

网友评论

      本文标题:iOS13适配

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