自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (1)
  • 收藏
  • 关注

原创 运行循环-RunLoop

1. 简介1.1 什么是RunLoopRunLoop实际上是一个对象,这个对象在循环中用来处理程序运行中出现的各种事件(比如触摸事件、UI刷新事件、定时器事件、Selector事件),从而保持程序的持续运行;而且在没有事件的时候,会进入睡眠模式,从而节省CPU资源,提高程序性能。1.2 RunLoop和线程RunLoop和线程是息息相关的,我们知道线程的作用是用来执行特定的一个或多个任务,但在默认情

2017-06-07 09:42:59 568

原创 ios多线程详解

一、基本概念进程:在系统中运行的一个应用程序就是一个进程,每个进程之间是相互独立的,每个进程均运行在其专用且受保护的内存空间内线程:一个进程的所有任务都是在线程中执行的,每个进程都至少有一个线程(主线程)多线程:一个进程可以开启多条线程,多条线程可以并行执行不同的任务,多线程的并行执行任务其实是CPU在多条线程之间切换调度主线程:一个进程运行后,默认会开启一条线程,成为主线程或UI线程,其主

2017-06-02 13:25:50 550

原创 代码规范

对象间的通讯对象之间需要通信,这也是所有软件的基础。再非凡的软件也需要通过对象通信来完成复杂的目标。本章将深入讨论一些设计概念,以及如何依据这些概念来设计出良好的架构。blockBlock 是 Objective-C 版本的 lambda 或者 closure(闭包)。使用 block 定义异步接口:- (void)downloadObjectsAtPath:(NSString *)path com

2017-05-23 19:33:07 475

原创 1.遇到的问题

1.autoLayout和frame的关系,及在VC中在那个环节可以拿到autoLayout布局的view的frame 2.如何在UIScrollView上使用autoLayout 3.drawInRect绘图很耗时,怎么优化 4.滑动uitableView对timer的影响 5.__weak和__strong在block中的使用 6.数组如何弱引用 7.

2017-05-22 23:05:24 245

原创 iOS-Lottie源码解析

LOTAnimationView+ (instancetype)animationNamed:(NSString *)animationName inBundle:(NSBundle *)bundle { NSArray *components = [animationName componentsSeparatedByString:@"."]; animationName = compon

2017-04-24 19:57:09 3195 1

原创 ios加密

ios常用加密

2017-04-12 11:17:46 254

原创 文章标题

输出log到文件+ (void)redirectNSlogToDocumentFolder { NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentDirectory = [paths objectAtInde

2017-03-30 14:24:37 238

原创 实现UILable字体即粗体又有描边

#import <UIKit/UIKit.h>@interface LMEStrokeLabel : UILabel/** 描多粗的边*/@property (nonatomic, assign) NSInteger strokeWidth;/** 外轮颜色*/@property (nonatomic, strong) UIColor *strokeTextColor;/** 里面字体默认颜色*/@

2017-03-17 09:57:39 510

原创 获取苹果设备信息

1.获得设备型号#import <sys/utsname.h>+ (NSString *)getCurrentDeviceModel { struct utsname systemInfo; uname(&systemInfo); NSString *platform = [NSString stringWithCString:systemInfo.machine encodin

2017-01-24 17:53:47 725

原创 如何让选择粘贴ui默认显示

将UITextView的属性clearsOnInsertion设置为yes

2016-11-16 13:45:11 190

原创 UIBarButtonItem偏移方法

UIBarButtonItem偏移方法

2016-11-14 11:11:11 1283

原创 性能优化

翻译过来,大概的意思就是图层颜色混合。我们知道GPU是图形硬件,主要的工作是混合纹理并算出像素的RGB值,这是一个非常复杂的计算过程,计算的过程越复杂,所需要消耗的时间就越长,GPU的使用率就越高,这并不是一个好的现像,而我们需要做的是减少GPU的计算量。基本概念 我们要明白像素的概念。屏幕上每一个点都是一个像素点,颜色由R、G、B、alpha组成。如果某一块区域上覆盖了多层layer,最后所计算

2016-10-24 11:15:23 179

转载 iOS实现App之间的内容分享

转自:http://www.jianshu.com/p/88a08d66894f前言我们在iOS平台上想要实现不同App之间的内容分享一般有几种常用方式:第一种是通过AirDrop实现不同设备的App之间文档和数据的分享;第二种是给每个App定义一个URL Scheme,通过访问指定了URL Scheme的一个URL,实现直接访问一个APP;第三种是通过UIDocumentInteractio

2016-10-20 16:26:02 481

原创 iOS9 3D Touch 使用教程

1应用图标 3D Touch3D Touch 分为重压和轻压手势, 分别称作POP(第一段重压)和PEEK(第二段重压), 外面的图标只需要POP即可.- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { //使用系统自带图标

2016-10-20 15:29:58 395

原创 全栈工程师修炼史

什么是全栈工程师? 指掌握多种技能,并能利用多种技能独立完成产品的人。 全栈工程师能做什么? 1.全局性思维 1.1产品设计 (设计图) - ai - CorelDRAW 1.2界面设计 - ui - photoshop

2016-10-15 13:10:04 414

原创 HTML CSS

CSS 简介

2016-10-11 18:55:38 354

原创 UI界面设计

设置光标的颜色:设置tintColor即可

2016-10-10 16:53:12 250

原创 colorWithAlphaComponent

今天发现设置UIView设置alpha或者设置其layer的opacity时,其Subview的透明度也会跟着变。解决方法如下: [[UIColor blackColor] colorWithAlphaComponent:0.5]

2016-10-10 10:32:59 706

原创 HTML学习

HTML简介什么是 HTML?HTML 是用来描述网页的一种语言。HTML 指的是超文本标记语言 (Hyper Text Markup Language)HTML 不是一种编程语言,而是一种标记语言 (markup language)标记语言是一套标记标签 (markup tag)HTML 使用标记标签来描述网页HTML 标签HTML 标记标签通常被称为 HTML 标签 (HTML tag

2016-10-08 17:31:27 7168 5

原创 Cookie简介

Cookie简介1.Cookie由服务器端生成,发送给客户端 2.客户端将Cookie的key/value保存在某个目录下的文本文件内 3.如果客户端支持Cookie,下次请求同一网站时就可以将Cookie发送给服务器

2016-10-08 17:00:36 153

原创 Cookie

Cookie简介1.Cookie由服务器端生成,发送给客户端 2.客户端将Cookie的key/value保存在某个目录下的文本文件内 3.如果客户端支持Cookie,下次请求同一网站时就可以将Cookie发送给服务器端 4.Cookie的名称和值由服务器端开发自己定义Cookie应用1.Cookie最典型的应用是在判断注册用户是否登录,记录用户登录信息,简化下次登录的过程 2.另一个重要场

2016-09-30 10:09:33 216

原创 性能优化

1.当NSArray和NSSet中所有元素要执行同一个方法的时候可以用- (void)makeObjectsPerformSelector:(SEL)aSelector; - (void)makeObjectsPerformSelector:(SEL)aSelector withObject:(id)argument;代替for循环,其性能优于for循环; 第二个方法中的argument是aS

2016-09-26 12:23:10 210

转载 调整导航条上leftBarButtonItem和rightBarButtonItem与屏幕边界的间距

转载:http://blog.sina.com.cn/s/blog_6f62cda30101rsjm.html我们发现,在设置navigationItem的leftBarButtonItem或rightBarButtonItem时,用CustomView初始化UIBarButtonItem,不论怎么设置CustomView的frame,添加到导航条上之后总是和屏幕边界有一定的间距(5pix),如何自

2016-09-10 12:29:43 282

转载 iOS获取UUID,并使用keychain存储,可用于封设备

关于UDID和UUID的区别 一.UDID(Unique Device Identifier)UDID是Unique Device Identifier的缩写,中文意思是设备唯一标识.在很多需要限制一台设备一个账号的应用中经常会用到,在Symbian时代,我们是使用IMEI作为设备的唯一标识的,可惜的是Apple官方不允许开发者获得设备的IMEI.iOS5 sdk中的获取方法:[UIDevice

2016-09-10 11:06:56 731

原创 app 被拒原因

1.应用程序包括隐藏色情内容和隐藏的支付功能,例如支付宝和微信; 2.应用程序的标题也不适合应用程序商店; 3.应用程序使用或引用非公开api; 如果你有源代码中定义的方法与上述相同的名称api,我们建议改变你的方法名称,让他们不再与苹果的私有api来避免碰撞被标记在以后提交您的应用程序。

2016-08-17 10:41:40 316

转载 IOS打包发布APP的所有详细流程

http://www.w2bc.com/article/134261

2016-08-15 14:03:12 279

原创 判断ios设备

1.使用UI_USER_INTERFACE_IDIOM() 区分目前UI_USER_INTERFACE_IDIOM()有2个返回值 UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone 2.使用UIDevice NSStrin

2016-07-13 20:20:40 223

原创 获取手机通讯录

1.获取手机通讯录的状态 ABAuthorizationStatus status = ABAddressBookGetAuthorizationStatus();拒绝(kABAuthorizationStatusDenied)授权(kABAuthorizationStatusAuthorized)未决定是否授权(kABAuthorizationStatusNotDetermined)受

2016-07-13 19:26:47 590

原创 苹果的一些设置

打开某些地址:打开设置:url = UIApplicationOpenSettingsURLStringNSURL *url = [NSURL URLWithString:url];if ([[UIApplication sharedApplication] canOpenURL:url]) { [[UIApplication sharedApplication] openURL:url

2016-07-13 19:12:43 270

转载 UIModalPresentationStyle和UIModalTransitionStyle

一、主要用途  弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的ViewController,如UIImagePickerController等。弹出模态ViewController主要使用于一下这几种情形:  1、收集用户输入信息  2、临时呈现一些内容  3、临时改变工作模式  4、相应设备方向变化(用于针对不同方向分别是想两个ViewC

2016-07-11 16:04:02 352

原创 重写canBecomeFirstResponder返回yes会崩溃

至今没有明白为什么,有谁知道可以留言告诉我,谢谢!

2016-07-11 16:02:00 1210 3

转载 多任务

启动后台运行任务时,调用UIApplication的实例方法beginBackgroundTaskWithExpirationHandler:任务完成后,调用UIApplication实例方法endBackgroundTask://AppDelegate.h#import <UIKit/UIKit.h>@interface AppDelegate : UIResponder <UIApplicati

2016-07-06 12:06:07 304

原创 仿微信聊天界面滚动动画停止效果

//无论手动滚动还是其他滚动,都停止动画- (void)scrollViewDidScroll:(UIScrollView *)scrollView { NSArray *visibleCells = self.tableView.visibleCells; [visibleCells enumerateObjectsUsingBlock:^(id _Nonnull obj, NS

2016-06-30 20:48:46 2324

转载 文字渐变

二、文字渐变实现思路:1.创建一个颜色渐变层,渐变图层跟文字控件一样大。2.用文字图层裁剪渐变层,只保留文字部分,就会让渐变层只保留有文字的部分,相当于间接让渐变层显示文字,我们看到的其实是被裁剪过后,渐变层的部分内容。注意:如果用文字图层裁剪渐变层,文字图层就不在拥有显示功能,这个图层就被弄来裁剪了,不会显示,在下面代码中也会有说明。2.1 创建一个带有文字的label,label能显示文字。2.

2016-06-24 14:25:42 380

转载 iOS语音播放之切换听筒和扬声器的方法解决方案

[[UIDevice currentDevice] setProximityMonitoringEnabled:YES]; //建议在播放之前设置yes,播放结束设置NO,这个功能是开启红外感应//添加监听 [[NSNotificationCenter defaultCenter] addObserver:self

2016-06-22 10:38:28 541

转载 iOS音频的后台播放总结(后台网络请求歌曲,Remote控制,锁屏封面,各种打断)

在没有网络的情况下,音频的后台播放比较简单,google一下可以搜到很多资料,但是如果每次歌曲的请求都是通过网络,就不成了,有时可以也扛不了几首,这里总结下实现方法,可以实现像电台一样的功能,后台播放,网络请求歌曲,Remote控制,锁屏有封面,电话和听歌打断处理等。初始化AudioSession和基本配置音频播放器采用的AVPlayer ,自己进行了功能封装,暂且不谈,在程序启动的时候需要配置Au

2016-05-19 16:57:26 1349

转载 录音

在AVFoundation框架中AVAudioRecorder类专门处理录音操作,支持多种音频格式。下面是常用的属性和方法:属性 说明 @property(readonly, getter=isRecording) BOOL recording; 是否正在录音,只读 @property(readonly) NSURL *url 录音文件地址,只读 @property(readonly) N

2016-05-09 14:03:05 291

转载 UITableViewCellScrollView

【现象】: 在iOS6下将某个myView插入到cell的contentView底下,在iOS7上却没有效果。 即在iOS7下调用: [cell insertSubview:myView belowSubview:cell.contentView]; 方法后,myView却仍然在contentView的上面。【研究】: (实验1)insertSubview:belowSubview

2016-04-27 13:23:10 394

原创 如何禁止App在后台运行以及如何保存和恢复App的状态

如果禁止App在后台运行iOS上的App类似于Windows上的进程,有几种不同的生存周期: 而App中的任何View也有类似的生存周期: 如果App处在非活动的状态下,那么接着它将进入挂起状态. 某些情况下我们可能不希望这样,我们想要当App进入后台时就将其结束掉.可以通过修改项目的info.plist文件来实现: 如上图,将Application does not run in back

2016-04-19 11:12:58 852

原创 通用项目

应用的Device为iPhone时,在iPad上是可以运行的,但是周围有黑色边缘,且界面会被放大 应用的Device为iPad时,在iPhone上是不能运行的 应用的Device为Universal时,既可以在iPhone也可以在iPad上运行,并且iPad要适配横竖屏。一、UIStackView介绍 1.概念:一个堆叠视图的容器 iOS9新特性 2.stackView及其子视图可以进行界面

2016-04-19 09:59:00 411

手动构建APP Makefile文件和entitlements.plist

用于ios逆向手动构建app需要的Makefile文件和entitlements.plist

2019-04-25

空空如也

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

TA关注的人

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