自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

RangingWon的博客

It does not do to dwell on dreams and forget to live.

  • 博客(62)
  • 收藏
  • 关注

原创 一张图了解OpenGL的渲染架构

初学者在初学OpenGL时,很多时候会对OpenGL的渲染架构感到困惑,不清楚它是怎么一个渲染流程,常将Arributes直接传递到片元着色器,或者为了将属性直接传递到片元着色器,而通过uniform传递到片元着色器等,这样的操作都是错误的,OpenGL的数据传输都有明确的届定。下面,我们就来看看OpenGL的渲染架构并了解它的数据传输方式和特点。上面就是OpenGL的渲染架构啦,我们在...

2019-05-28 09:02:35 3098 1

原创 OpenGL在Mac上的配置

1、创建工程打开Xcode -> macOS -> Cocoa App2、删除文件AppDelegate.h、AppDelegate.m、ViewController.h、ViewController.m、main.m3、在工程添加GLUT.framework和OpenGL.framework两个系统库4、拖入include文件到当前工程下并将libGLTools.a...

2019-05-16 17:49:06 558

原创 OpenGL / OpenGL ES 专业名词解析

一、简介###(1)OpenGLOpenGL(英语:Open Graphics Library,译名:开放图形库或者开放式图形库)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来从简单的图形比特绘制复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、...

2019-05-16 16:04:49 558

原创 iOS 性能优化

1、弱应用__weak typeof(self) weakSelf = self;__strong typeof(self) strongSelf = weakSelf;2、NSTimer方法一:#import <objc/runtime.h>@property (nonatomic, strong) NSTimer *timer;@property (no...

2019-03-19 23:42:26 253

原创 基础-OpenGL ES

1、四大着色器顶点着色器:接收顶点数据,单独处理每个顶点细分着色器:对所有的图像进行修改几何图元类型几何着色器:决定输出的图元类型和个数片元着色器:对光栅化处理生成的片元进行处理2、渲染过程中产生的问题解决(1)油画算法先绘制场景中离观察者比较远的物体,再绘制较近物体。但是油画算法重复绘制,耗性能,一般不采用。而且,在一些情况下,采用油画算法是无法进行处理,例如:三个图...

2019-03-13 22:58:55 486

原创 IQKeyboardManager每次运行都会断点.m文件

APP导入了IQKeyboardManager,只要打开All Exception获取异常断点,每次编译都会捕获到一个IQKeyboardManager的断点,具体如下:那我们该怎么操作?看图看图

2018-10-22 16:30:59 485

原创 iOS UISlider用法总结

@property (nonatomic, weak) UISlider *progressSlider;-(UISlider *)progressSlider{ if (!_progressSlider) { UISlider *progressSlider = [[UISlider alloc] init]; progressSlider.min...

2018-09-18 15:05:17 735

转载 iOS 图片转base64编码

今天有人在群里问,图片怎么转成base64编码?那我就在这里说一说其实图片转成base64编码,很简单,苹果提供了方法//图片转base64UIImage *image = [UIImage imageNamed:@"eg"];NSData *data = UIImageJPEGRepresentation(image, 1.0f);NSString *encodedImageSt...

2018-09-17 16:58:42 3028

原创 iOS 实现APP之间内容的拷贝、分享

有时候,开发中需要我们实现“将一个APP的文件拷贝到另一个APP上并实现上传等功能”,那我们怎么去实现呢?下面介绍一种方法:App Extension 在iOS8中实现的跨APP数据操作和分享。首先新建一个工程,并指定属性就能实现上述的需求啦,具体如下图到这里,差不多就已经实现啦另外,在//9.0之前- (BOOL)application:(UIApplicatio...

2018-08-28 15:21:16 10567 1

原创 对OOD/OOP有较深的理解

最近,经常有很多人在求职的时候遇到这样一个问题 “对OOD/OOP有较深的理解” ,那OOD,OOP又是什么?那今天就来讲讲它们都是些什么,又如何去回答!(1)OOA (Object oriented analysis)- 面向对象分析面向对象分析方法是确定需求或者业务的角度,按照面向对象的思想来分析业务。例如:OOA只是对需求中描述的问题,进行模块化的处理,描述问题的本质,区别每个问题的...

2018-08-20 14:21:55 2745

原创 GitHub Please tell me who you are. Run git config --global user.email "[email protected]"

有时候,我们会在Github提交代码的时候出现了下面这个问题:Please tell me who you are.Run  git config --global user.email "[email protected]"  git config --global user.name "Your Name"to set your account's default identity....

2018-08-19 15:27:33 3069

原创 仿真动画(UIDynamicAnimator,UIGravityBehavior,UICollisionBehavior)

仿真动画 /** * 仿真器,也是仿真行为的执行者 */@property (nonatomic, strong) UIDynamicAnimator *animator;/** * 重力行为 */@property (nonatomic, strong) UIGravityBehavior *gravity;/** * 碰撞行为 */@property (n...

2018-08-17 15:42:23 609

原创 iOS动画(Core Animation)

一、CABaseAnimation /** 移动动画 */- (void)testPositionAnimation{ CGFloat tempViewWidth = 50; CGFloat tempViewY = 300; UIView *tempView = [[UIView alloc] initWithFrame:CGRectMake(0, ...

2018-08-16 17:03:39 394

原创 NSAttributedString添加链接,富文本(一段文字上添加点击事件)

通常开发中,有时候会让我实现如下图所示的功能(一段文字上添加点击事件):那我们怎么去实现呢?直接上代码://内容文本NSString *content = @"欢迎使用健康档案服务!为了让您放心使用产品及服务,请务必仔细阅读,充分理解协议中的条款内容后在点击同意,以便您更好的行使个人权利及保护个人隐私。\n\n注意:当你点击同意,即视为您已阅读并同意《健康档案服务协议》与《数字...

2018-08-14 16:59:00 8797

原创 iOS 获取当前时间之后N天的日期

有时候在开发中会遇到一些需求,比如:在一个选择器,需要我们去设置它的一个时间最大选择值,从而控制它的一个时间选择段。那,我们可能会需要到一个问题,如果得到当前时间之后n天的日期呢?直接上代码:/** 得到当前时间之后N天的日期 @param day N天 @return return value description */- (NSDate *)getTimeAfter...

2018-08-13 16:14:52 1693

原创 runtime 动态归解档

平常开发中,有时候需要对少量存储的数据进行归档处理,但我们又不想对数据一个一个的进行处理,那,我们就能用runtime 进行动态的归解档!直接上代码://归档-(void)encodeWithCoder:(NSCoder *)aCoder{ unsigned int count = 0; // 利用runtime获取实例变量的列表 Ivar *ivars = ...

2018-08-13 11:33:06 267

原创 iOS 时间格式NSDate 和 获取东八区(中国地区)时区时间

有些时候,在开发中会遇到接口需要我们提供时间做一些加密之类的操作。那下面讲讲关于时间的那些事儿:1、yyyyMMddHHmmss 与 yyyymmddhhmmssyyyy:包括纪元的四位数的年份MM:月份数字dd:月中的某一天hh:12 小时制的小时  /  HH:24小时制的小时mm:分钟ss:秒2、获取东八区时区的当前时间/** 获取时间戳 @...

2018-08-13 11:07:36 6875

原创 iOS控件阴影效果的实现 和 为什么实现设置了视图的阴影效果的代码,阴影效果会失效?

假如,你实现了如下的代码- (void)setShodawWithView:(UIView *)view color:(UIColor *)color{ view.layer.shadowOffset = CGSizeMake(0, 5); view.layer.shadowColor = color.CGColor; view.layer.shadowRadius...

2018-08-10 16:44:14 761

原创 iOS 视图切部分圆角

日常开发中,可能某些需求需要我们对当前视图进行部分圆角切割,那,我们怎么去处理呢?显然view.layer.cornerRadius = cornerRadius;view.layer.masksToBounds = YES;已满足不了需求!那下面,给大家提供了一个方法,希望对大家日常开发有帮助,具体如下:/** 切部分圆角 UIRectCorner有五种 UI...

2018-08-10 16:34:12 4085

原创 iOS获取手机型号

日常开发中可能会需要我们获取当前设备的手机型号传给后台,那,我们怎么去得到当前手机的型号呢?下面,给大家提供了一个方法,希望对大家日常开发有帮助(目前已iphone x的手机检测)具体如下:/** 获取手机型号 @return 型号 */+ (NSString *)getIphoneType{ //需要导入头文件:#import &lt;sys/utsna...

2018-08-10 16:28:08 1165

原创 基于UIPickerView的条件选择器

日常开发中,通常会需要这样子的需求,具体如下图:那接下来说下它的使用,希望能增加开发同行工作效率#import "InfoPickerView.h"@property (nonatomic, strong) InfoPickerView *pickView;- (InfoPickerView *)pickView{ if (!_pickView) { ...

2018-08-10 15:28:19 312

原创 iOS开发中的几种设计模式

目前常用的几种设计模式:代理模式、观察者模式、MVC模式、单例模式、策略模式、工厂模式、MVVM (一)代理 场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现。优势:解耦合敏捷原则:开放-封闭原则实例:tableview的 数据源delegate,通过和protocol的配合,完成委托诉求。列表row个数delegate自定义的delegat...

2018-08-03 11:53:20 183

原创 浅谈runloop

RunLoop是什么,有什么作用,如何获取?定义 RunLoop的实质是一个死循环,用于保证程序的持续运行,只有当程序退出的时候才会结束(由main函数开启主线程的RunLoop) 作用 保持程序的持续运行 处理App中的各种事件(触摸、定时器、Selector事件) 节省CPU资源,提高程序性能(该做事做事,没事做休息) 获取方法 使用NSRunLoop(面向对象)或者...

2018-08-02 14:23:29 297

原创 mac显示隐藏文件夹

打开终端,输入:defaults write com.apple.finder AppleShowAllFiles -bool true 此命令显示隐藏文件defaults write com.apple.finder AppleShowAllFiles -bool false 此命令关闭显示隐藏文件命令运行之后需要重新加载Finder:快捷键option+co

2016-12-28 23:54:15 391

原创 iOS NSNull,nil,Nil的区别

NSNull,nil,Nil的区别:       nil一般用做对象。我们给对象赋值时一般会使用object = nil,表示我想把这个对象释放掉。    Nil一般表示类为空,比如:Class classA = Nil;    NSNull称它为“值为空的对象”。NSNull这个类是继承NSObject,并且只有一个“+ (NSNull *) null;”类方法。

2016-12-28 23:44:18 341

原创 iOSNSDate和NSDateFormatter

iOS开发中常需要对时间进行处理然后得到我们想要的。NSDate用法(1)返回系统当前时间       [NSDate date] (2)返回以指定时间(GMT)为基准,然后过了secs秒的时间      //增加时间用正数,减少时间用负数(单位是秒)      [NSDate dateWithTimeInterval:3600 sinceDate:currentDat

2016-12-28 23:43:04 369

转载 火星坐标

前言:前段时间对火星坐标产生了好奇心,查阅了一些资料,以下是整理出来的相关内容信息。1、偏移的起因:天朝测绘局以国家安全为理由,用法律的形式对所有在天朝发行的地图类产品加了强制性规范,要求所有地图类产品都必须使用国家测绘局的一种加偏移的算法,对地图的真实坐标进行加偏移处理,之后才可能通过审批准许上市。因此,天朝的所有官方及商用地图的坐标都是偏移的,这种偏移属于非线性的,偏移量在

2016-12-28 23:26:24 464

原创 iOS后台播放音乐

1、在Info.plist中,添加"Required background modes"键,其值(App plays audio or streams audio/video using AirPlay)设置如下图所示:2、添加AVFoundation框架,然后再添加如下两段代码添加后台播放代码(AppDelegate):AVAudioSes

2016-12-28 23:15:34 468

原创 iOS pch文件的作用和用法(附:在release版本禁止输出NSLog内容)

一. pch文件的作用和用法(Xcode > 4.0)pch全称是“precompiled header”,也就是预编译头文件。开发的过程中可以将广泛使用的头文件以及宏包含在该文件下,编译器会自动将pch文件中的头文件,添加到所有的源文件中去。这样在需要使用相关类的时候不需要使用import就可以直接使用头文件中的内容,很大程度上带来了编程的便利性。但是在Xcode6中去掉Precom

2016-12-26 23:29:59 468

原创 小谈XML

一、什么是 XML?XML 指可扩展标记语言(EXtensible Markup Language)XML 是一种标记语言,很类似 HTMLXML 的设计宗旨是传输数据,而非显示数据XML 标签没有被预定义。您需要自行定义标签。XML 被设计为具有自我描述性。XML 是 W3C 的推荐标准二、XML 与 HTML 的主要差异XML 不是 HTML 的替代

2016-12-26 11:03:14 280

原创 CAlayer层的属性position和anchorPoint

1.简单介绍CALayer有2个非常重要的属性:position和anchorPoint@property CGPoint position;用来设置CALayer在父层中的位置以父层的左上角为原点(0, 0) @property CGPoint anchorPoint;称为"定位点"、"锚点"决定着CALayer身上的哪个点会在posi

2016-12-25 22:48:08 485

原创 小谈Socket通讯

前言      我们每天打开浏览器浏览网页是,浏览器的进程怎么与web服务器通信的?当你用微信聊天时,微信进程怎么与服务器或者微信好友所在的微信进程通信?这些都得靠Socket,那什么是Socket?今天就来小谈Socket。1、什么是Socket?    Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制。通常也称作“套接字”

2016-12-24 16:08:51 354

原创 iOS中的HTTP请求处理

IOS中的HTTP请求处理一、HTTP协议1、定义HTTP的全称:超文本传输协议,用来定制传输数据的规范(客户端和服务器之间的数据传输规范)HTTP完整通信过程:请求行、请求头、请求体二、通信过程1、请求(客户端到服务端)状态行请求头(描述客户端信息)请求体(POST请求才有,存放具体数据)2、响应(服务端到客户端)

2016-12-24 12:01:30 1255

原创 HTTP详解

HTTP详解http/https, TCP  UDP   ftp引言                                        HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW中使用的是HTTP/1.0的第六版

2016-12-24 11:56:24 950 1

原创 iOS开发证书变成"此证书的签发者无效"解决方法

iOS开发证书全部变成无效,如下图 打包提示错误:解决方法: 1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA.cer的证书,然后双击安装。 2. 打开钥匙串访问,在导航栏那边,显示-显示已过期的证书 3. 点击 “登录”,并且选择 “所有项

2016-12-24 11:23:42 400

原创 iOS编译时报错The run destination John的 iPhone is not valid for Running the scheme 'Test'.

有时候,我们在真机调试的时候回遇到这样的错误通常,我们只需要这样操作就能解决问题选择工程 -> General -> Deployment Info将Deployment Target 修改至低于手机的系统版本就可以进行真机调试了具体如下图所示:如有其它编译上的错误可以咨询:/*** Author:Jn* GitHub:htt

2016-12-23 16:27:43 4711

原创 iOS 小谈开发者中的个人、组织(公司、企业)账号

苹果对开发者主要分为3类:个人、组织(公司、企业)、教育机构。即:1、个人(Individual)2、组织(Organizations)组织类又分为2个小类:(1)公司(Company)(2)企业(Enterprise)3、教育机构(Educational Institutions)更多内容介绍,请看苹果官方说明:Choosing a Membership我

2016-12-23 16:00:49 2128

转载 iOS10---新特性以及适配点

SiriKit所有第三方应用都可以用Siri,支持音频、视频、消息发送接收、搜索照片、预订行程、管理锻炼等Proactive Suggestions系统预先建议背景就是iOS9的时候系统给予的主动建议通过:Spolight搜索,Safari搜索,Handoff,或者siri建议。在iOS10之后新增了,键盘QuickType建议,地图,车载娱乐,应用切换,siri交互,

2016-12-23 15:39:52 765

原创 NSUserDefaults 简介,使用 NSUserDefaults 存储自定义对象

摘要:NSUserDefaults适合存储轻量级的本地数据,一些简单的数据(NSString类型的)例如密码,网址等,NSUserDefaults肯定是首选,但是如果我们自定义了一个对象,对象保存的是一些信息,这时候就不能直接存储到NSUserDefaults了一、了解NSUserDefaults以及它可以直接存储的类型      NSUserDefaults是一个单例,在整个程序中只

2016-12-23 12:25:24 336

原创 iOS 将颜色NSString转换为UInt32

有时候,我们在开发应用的时候,需要将得到的Json数据转换为我们所需要的类型,这里将介绍怎么将颜色NSString转换为UInt32。例如,数据为#FFC000//将#替换为0x NSString *typeColor = [allchant.ind_color stringByReplacingOccurrencesOfString:@"#" withString:@"0x"

2016-12-23 11:59:43 5240

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除