详谈iPhoneX截图如何带

所属分类: 软件编程 / IOS 阅读数: 1856
收藏 0 赞 0 分享

直接用iPhoneX截图后是没有圆角和刘海的,就像下面这样。

其实加圆角和刘海也很简单

第一步:截屏

第二步:打开我这个软件,并选取图片库中的那张图

第三步:添加圆角,刘海

第四步:将做好的图片保存到相册

还需要下边这张刘海的图片

可以上代码了(目前原图是固定的,没有从图片库选取)

//
// ViewController.m
// iPhoneXPhotoEdit
//
// Created by yfc on 2017/12/23.
// Copyright © 2017年 yfc. All rights reserved.
//
#import "ViewController.h"
#import <AssetsLibrary/AssetsLibrary.h>
#import <Photos/Photos.h>
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
 [super viewDidLoad];
 
 UIButton *btn = [[UIButton alloc]init];
 btn.frame = CGRectMake(10, 44, 350, 758);
 btn.frame = CGRectMake(0, 0, 375, 812);
 [btn setBackgroundImage:[UIImage imageNamed:@"IMG_3655.PNG"] forState:UIControlStateNormal];
 //添加圆角
 btn.layer.cornerRadius = 35 ;
 btn.layer.borderColor = [UIColor blackColor].CGColor;
 btn.layer.borderWidth = 2;
 [self.view addSubview:btn];
 btn.backgroundColor = [UIColor whiteColor];
 btn.clipsToBounds = YES;
 
 
 //添加刘海
 UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"liuhai.png"]];
 imageView.frame = CGRectMake(70, 0, 222, 28);
 [btn addSubview:imageView];
 
 self.view.backgroundColor = [UIColor clearColor];
 
 //截图保存到相册
 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
  [self saveBtnAction:nil];
 });
 
}
-(void)saveBtnAction:(UIButton *)sender{
 [self requestAuthorizationStatus];
}
//查看权限
- (void)requestAuthorizationStatus
{
 [PHPhotoLibrary requestAuthorization:^(PHAuthorizationStatus status){
  dispatch_async(dispatch_get_main_queue(), ^{
   switch (status) {
    case PHAuthorizationStatusAuthorized:
    {
     [self cutScreen];
     break;
    }
    default://Denied
    {
     break;
    }
   }
  });
 }];
}
//截屏
-(void)cutScreen{
 UIGraphicsBeginImageContextWithOptions(self.view.bounds.size, YES, 0.0);
 //2.获取当前图形上下文
 CGContextRef ctx = UIGraphicsGetCurrentContext();
 //3.获取需要截取的view的layer
 [self.view.layer renderInContext:ctx];
 //4.从当前上下文获取图片
 UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
 //5.关闭图形上下文
 UIGraphicsEndImageContext();
 //6.把图片保存到相册
 UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);
}
//保存成功后回调
-(void)image:(UIImage *)image didFinishSavingWithError:(NSError *)error contextInfo:(void *)contextInfo{
 NSString *msg = nil;
 if (error) {
  msg = @"图片保存失败";
 }else{
  msg = @"图片保存成功";
 }
 UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:msg delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil, nil];
 [alertView show];
}
@end

效果图是

以上这篇详谈iPhoneX截图如何带"刘海"和圆角就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

IOS 使用Block二次封装AFNetworking 3.0详解

这篇文章主要介绍了IOS 使用Block二次封装AFNetworking 3.0详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

IOS 开发之对象为空的判断(nil、null)详解

这篇文章主要介绍了IOS 开发之对象为空的判断(nil、null)详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

iOS创建对象的不同姿势详解

这篇文章主要介绍了iOS创建对象的不同姿势,文中介绍的很详细,对大家具有一定的参考价值,有需要的朋友们下面来一起学习学习吧。
收藏 0 赞 0 分享

探究iOS多线程究竟不安全在哪里?

iOS多线程安全的概念在很多地方都会遇到,为什么不安全,不安全又该怎么去定义,其实是个值得深究的话题。那么通过下面这篇文章小编和大家一起来探究了iOS多线程究竟不安全在哪里?需要的朋友可以参考学习。
收藏 0 赞 0 分享

IOS购物车界面实现效果示例

本篇文章主要介绍了IOS购物车界面实现效果示例,有需要了解的朋友可参考。希望此文章对各位有所帮助。
收藏 0 赞 0 分享

iOS Touch ID 身份认证

本文主要介绍了iOS Touch ID 身份认证的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
收藏 0 赞 0 分享

iOS 使用 socket 实现即时通信示例(非第三方库)

这篇文章主要介绍了iOS 使用 socket 即时通信示例(非第三方库)的资料,这里整理了详细的代码,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

ios常见加密解密方法(RSA、DES 、AES、MD5)

本篇文章主要介绍了ios常见加密解密方法(RSA、DES 、AES、MD5),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

iOS利用AFNetworking实现文件上传的示例代码

本篇文章主要介绍了iOS利用AFNetworking实现文件上传的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

浅谈IOS中AFNetworking网络请求的get和post步骤

本篇文章主要介绍了浅谈IOS中AFNetworking网络请求的get和post步骤的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享
查看更多