详谈iPhoneX截图如何带

所属分类: 软件编程 / IOS 阅读数: 1896
收藏 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 App中UILabel的自定义及在Auto Layout中的使用

这篇文章主要介绍了iOS App中UILabel的自定义及在Auto Layout中的使用,示例代码为传统的Objective-C语言,需要的朋友可以参考下
收藏 0 赞 0 分享

iOS应用开发中UITableView的分割线的一些设置技巧

这篇文章主要介绍了iOS应用开发中UITableView分割线的一些设置技巧,包括消除分割线的方法,示例代码为传统的Objective-C语言,需要的朋友可以参考下
收藏 0 赞 0 分享

详解iOS时间选择框

这篇文章主要为大家详细介绍了详解iOS时间选择框,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

详解iOS App开发中UIViewController的loadView方法使用

这篇文章主要介绍了详解iOS App开发中UIViewController的loadView方法使用,讲解了访问view属性时loadView方法的调用及使用loadView时的一些注意点,需要的朋友可以参考下
收藏 0 赞 0 分享

详解在iOS App中自定义和隐藏状态栏的方法

这篇文章主要介绍了在iOS App中自定义和隐藏状态栏的方法,在顶部时某些状况下即用应用内的状态栏覆盖系统本身的,代码示例为Objective-C语言,需要的朋友可以参考下
收藏 0 赞 0 分享

iOS开发实现音频播放功能

本文给大家分享的是在IOS开发过程中实现音频播放的功能,讲解的十分细致,有需要的小伙伴可以参考下
收藏 0 赞 0 分享

IOS开发实现录音功能

本文给大家分享的是一个IOS开发中实现录音功能的实例,并简单给大家解析一下,有需要的小伙伴可以参考下
收藏 0 赞 0 分享

iOS实现图片轮播效果

这篇文章主要为大家详细介绍了IOS实现图片轮播效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

iOS通过http post上传图片

这篇文章主要介绍了iOS通过http post上传图片的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

IOS框架Spring常用的动画效果

本文给大家介绍的是在IOS开发中常用的动画效果以及自定义转场动画特效的代码,非常的简单实用,有需要的小伙伴可以参考下
收藏 0 赞 0 分享
查看更多