iOS系统录屏如何增加雷达波纹效果(从一个点向周围扩散)的简单实现
1.在mian.m中
UIApplicationMain的第三个参数改为MYApplication
int main(int argc, char * argv[]) {NSString * appDelegateClassName;@autoreleasepool {// Setup code that might create autoreleased objects goes here.appDelegateClassName = NSStringFromClass([AppDelegate class]);}return UIApplicationMain(argc, argv, @"MYApplication", appDelegateClassName);
}
2.创建MYApplication .h .m
//
// MYApplication.h
// kkkvo
//
// Created by YYY on 2021/8/31.
// Copyright © 2021 YYY. All rights reserved.
//#import <UIKit/UIKit.h>NS_ASSUME_NONNULL_BEGIN@interface MYApplication : UIApplication@endNS_ASSUME_NONNULL_END
//
// MYApplication.m
// kkkvo
//
// Created by YYY on 2021/8/31.
// Copyright © 2021 YYY. All rights reserved.
//#import "MYApplication.h"@implementation MYApplication- (void)sendEvent:(UIEvent *)event{[super sendEvent:event];UITouch *touch = [event.allTouches anyObject];CGPoint locationPointWindow = [touch preciseLocationInView:touch.window];UIView *centerRadarView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 7, 7)];centerRadarView.centerX = locationPointWindow.x;centerRadarView.centerY = locationPointWindow.y;centerRadarView.userInteractionEnabled = NO;centerRadarView.backgroundColor = [UIColor clearColor];centerRadarView.layer.borderColor = [UIColor blackColor].CGColor;centerRadarView.layer.borderWidth = 3.5;centerRadarView.layer.cornerRadius = 7/2.0;dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.0001 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{[touch.window addSubview:centerRadarView];dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.03 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{[UIView animateWithDuration:0.4 animations:^{centerRadarView.width = 25;centerRadarView.height = 25;centerRadarView.layer.cornerRadius = 25/2.0;centerRadarView.centerX = locationPointWindow.x;centerRadarView.centerY = locationPointWindow.y;centerRadarView.layer.borderWidth = 2;} completion:^(BOOL finished) {[centerRadarView removeFromSuperview];}];});});}@end
3.原理是获取坐标点,加载到window上显示,通过圆角和宽高的线性动画,实现类似一块石头扔到水里的效果
4.当然可以只在当录屏情况下才添加这个效果,增过录屏的通知方法来打开关闭这个功能。
demo 链接: https://pan.baidu.com/s/1dM8iWK2hU3SupEfngIrOpg 提取码: kd8h 复制这段内容后打开百度网盘手机App,操作更方便哦
。
iOS系统录屏如何增加雷达波纹效果(从一个点向周围扩散)的简单实现相关推荐
- iOS 12.0+系统录屏(一)
iOS在录屏功能是走过了长长的一段路,在其他平台尤其是直播平台日益火爆的推动下,iOS12.0终于开放在应用中唤起系统录屏权限给开发者.以下内容以iOS 12.0+为基础,不再讨论之前的版本. 理论准 ...
- iOS 12+ ReplayKit 系统录屏(一)
最近做了新需求,实现系统录屏,网上资料少的可怜,可用的更是寥寥无几,终于爬完坑了,现在总结一下. 环境:iOS 12以上 + Swift ReplayKit 实现系统录屏,录制手机屏幕,可以在应用之间 ...
- iOS 12+ ReplayKit 系统录屏(二)
这篇文章主要记录 AppGroup的使用 一.AppGroup的使用方法 轻量级的数据共享 使用UserDefaults 在Extension Terget里(或者同一Group里的其他App) le ...
- Android iOS防录屏截屏
目录 Android防录屏和截屏 关于WindowManager.LayoutParams.FLAG_SECURE 关于Display.FLAG_SECURE iOS防录屏和截屏 监听截屏 录屏监听 ...
- Android 和 iOS 实现录屏推流的方案整理
一.录屏推流实现的步骤 1. 采集数据 主要是采集屏幕获得视频数据,采集麦克风获得音频数据,如果可以实现的话,我们还可以采集一些应用内置的音频数据. 2. 数据格式转换 主要是将获取到的视频和音频转换 ...
- android11原生录屏,终于把安卓这项功能实现了!iOS 11录屏功能演示:超好用
虽然没有像iOS 6到iOS 7那样翻天覆地的变化,但iOS 11也足以算得上近两年最大一次更新了,尤其是一些人性化功能的增加,越来越开放,越来越接地气,甚至让人有种"套上iOS皮肤安卓 ...
- Win7电脑系统录屏功能使用教程分享
Win7电脑系统录屏功能使用教程分享.电脑上其实不用下载也可以使用录制屏幕这个功能,很多用户不懂如何去开启这个功能的方法,如果你还没有学会自带录屏工具的使用方法,那么可以通过本文来进行学习. 操作步骤 ...
- android 屏幕录制方案,ShareREC for Android全系统录屏原理解析
本文是Mob开发者平台技术副总监余勋杰基于MediaProjection实现Android全系统录屏功能的原理解析,包括了结合MediaRecorder和MediaCodec两套方案. 文 / 余勋杰 ...
- 基于JAVA线上竞赛训练系统录屏计算机毕业设计源码+系统+mysql数据库+lw文档+部署
基于JAVA线上竞赛训练系统录屏计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA线上竞赛训练系统录屏计算机毕业设计源码+系统+mysql数据库+lw文档+部署 本源码技术栈: ...
最新文章
- Jvm面试题及答案 100道(持续更新)
- Binder通信中的代理模式
- 使用Xcode和Instruments调试解决iOS内存泄露
- python的动态参数
- Java反射机制涉及的类常见方法使用总结
- js面向对象的程序设计 --- 下篇 继承启蒙
- 怎样在 linux 系统下增加一块硬盘
- java2实用教程第五版耿祥义电子版_Java2实用教程(第5版)答案_耿祥义
- Spring Security入门教程
- 【工具使用】git使用--将本地代码上传到icode代码库踩坑总结
- hadoop的filesplit
- 美团java面试题_美团java面试题分享,一面
- Google Ads关键词不展示原因及解决方案
- 物联网(工程师)+嵌入式学习路线图各个阶段
- win2008R2 像CA证书服务器(Linux)申请CA证书
- [系统安全] 十八.病毒攻防机理及WinRAR恶意劫持漏洞(bat病毒、自启动、定时关机、蓝屏攻击)
- YC创始合伙人Jessica Livingston七年经验总结:创业路上如何避开这八只拦路虎
- HC05蓝牙串口通信模块
- sdust-Java-字符串集合求并集
- 数据:锁定在智能合约中的MKR供应占比已创下16个月新高
热门文章
- Jmeter常用快捷键
- .doc文档无法设置默认打开方式
- 假设web应用的文档根目录为MyApp,那么可以从哪里找到database.jar文件。
- 旅行青蛙服务器维护时间,旅行青蛙多久出门一次?青蛙旅行出门时间一览
- jQuery Validate表单中文正则验证+手机号正则验证
- 定值保险计算举例_保险中生命表的计算例题 定值保险和不定值保险计算例题...
- mavlink协议从入门到放弃(二)
- linux误删 bin目录,记linux下rm误删bin文件的解决方式
- 服务器安装系统路径,裸金属服务器安装多路径软件
- {转载}circos绘图(3)