自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 如何提高App Store审核通过率

应用审核流程大体分为三部分:预审、机审和人工审核。1、预审:资源类审核,提交程序包时,对Icon、plist、图片等资源文件的审核,常见问题包括:图片格式(无alpha)、程序包文件等问题。2、机审:机器自动扫描审核,主要是对二进制文件、API等代码块的检查,常见的问题如:重复APP、热更新、私有api的使用等。3、人工审核:App体验式审核,主要对App的元数据、功能使用情况的审核。...

2019-11-11 15:29:25 778

原创 扩大UIButton的响应区域--runtime

在日常开发中, 设计师有时候会设计一个看起来小小的按钮, 用户很难点击到这个按钮; 为了解决这个问题,简单粗暴的就是将 button 的 frame 放大, 分别调整button的 frame 和显示内容的 frame ,即麻烦,又显得怪异;如果我们使用 runtime 关联对象的方法对 button 进行扩展,去扩大 UIButton 的可交互区域,这样会更好一点​ 其执行原理为:OC中创建类...

2019-04-04 14:46:35 310

原创 原来Xcode 10里按住 option 点击控件窗口按钮,控件对象窗口就会常驻。还好这个tip知道的不算很晚。

原来Xcode 10里按住 option 点击控件窗口按钮,控件对象窗口就会常驻。还好这个tip知道的不算很晚。

2018-12-28 16:29:34 909

原创 performSelector、 NSTimer延时调用导致的内存泄露

performSelector关于内存管理的行原理是这样的执行 [self performSelector:@selector(method:) withObject:self.attribute afterDelay:3]; 的时候,系统会将attribute 的引用计数加1,执行完这个方法时,还会将attribute的引用计数减1,而这个延时执行函数可能会被多次调用的,有时切换场景时延时函数已...

2018-05-30 18:11:17 636

原创 提取assets.car中的图片 .car文件的解压

cartool,Mac下的命令行小工具,能够将Assets.car文件解包到指定文件夹。目标文件夹需要事先创建好。该工具使用私有API中的CoreUI进行开发。 下载地址:https://github.com/steventroughtonsmith/cartool./cartool xxx/xxx/Assets.car xxx/xxx/outputDir acextract,Mac下的命令行工具...

2018-03-26 15:15:41 2157

转载 iOS 开发是否要采用 React Native?

React Native 是 Facebook 2015年开源的 Javascript 框架,旨在使用 Javascript 高效开发手机端 App。配合着多个显而易见的优势和 Facebook 强大的宣传机器,它立刻成为国内外大小公司的明星开发框架。开源社区的参与激情、各方博客的宣传追捧,从其 Github 上 56000+ 星和 13000+ Fork 就可见一斑。对于 React Nat

2017-11-23 17:04:35 245

转载 如何让 Xcode 在读写上提速100倍?

如何让 Xcode 在读写上提速100倍?

2017-08-14 13:43:54 429

原创 打包静态库--包含三方依赖

借助cocoaPods打包有依赖的静态库

2017-08-11 16:46:37 4586 3

原创 Swift中的protocol

在ARC中,我们通常用weak关键字来修饰delegate,在delegate的实际对象被释放时,其就会被重置为nil,有效避免循环引用。在Swift中,我们当然也希望这么做。但是当我们尝试书写这样的代码的时候,编译器就会报错:protocol TestClassDelegate {    func method()}class TestClass

2017-07-26 16:31:06 2175

原创 swift3.0 元组的用法

元组是我们的新朋友,多尝试使用这个新特性吧,会让生活轻松不少~用法一:比如交换输入,普通的写法是,func swapMe1 (a: inout T, b: inout T) {    let temp = a    a = b    b = temp}但是如果用元组的话,就可以不使用额外空间就能完成交换

2017-06-20 14:55:27 351

原创 右滑手势返回效果失效处理

我们日常使用app时,已经习惯右滑返回这个效果,可是我发现我们的APP中这个功能失效了,只能点击左上角的返回按钮才能执行返回这个效果。后来查了一下发现,导致这个问题的原因是因为我们自己自定义了左上角的leftBarButtonItem,我们自定义了这个BarButtonItem使得系统不能捕获pop手势了。解决方法:创建一个UINavigationController的

2017-06-06 13:17:45 1897

转载 Swift 3.1 的一些新特性

推荐序本文来自泊学的投稿,介绍了 Swift 3.1 的新特性,感谢泊学授权发表。以下为文章正文。正文Apple终于发布了Xcode 8.3以及Swift 3.1。如果你没时间仔细通读一遍release note,至少,Swift 3.1中的一些新特性还是值得了解的,为此,我们特别制作了一个免费的内容系列。当然,Swift 3.1和Swift 3在源代码级别是兼容的,因此,

2017-03-31 20:34:04 1130

原创 高性能制作圆角图片

- (UIImage*)drawImageWithSize:(CGSize)size imageName:(NSString *)imageName{    // 申请一块特定大小的画布    UIGraphicsBeginImageContext(size);    // 画出一个与画布等大的圆    UIBezierPath *path = [U

2017-02-07 13:34:36 323

转载 用@property声明的NSString(或NSArray,NSDictionary)经常使用copy关键字,为什么?如果改用strong关键字,可能造成什么问题?

因为父类指针可以指向子类对象,使用 copy 的目的是为了让本对象的属性不受外界影响,使用 copy 无论给我传入是一个可变对象还是不可对象,我本身持有的就是一个不可变的副本.如果我们使用是 strong ,那么这个属性就有可能指向一个可变对象,如果这个可变对象在外部被修改了,那么会影响该属性.copy 此特质所表达的所属关系与 strong 类似。然而设置方法并不保留新值,而是将

2016-11-09 13:48:07 800

原创 @dynamic与@synthesize的区别

@property有两个对应的词,一个是@synthesize,一个是@dynamic。如果@synthesize和@dynamic都没写,那么默认的就是@syntheszie var = _var;@synthesize的语义是如果你没有手动实现setter方法和getter方法,那么编译器会自动为你加上这两个方法。@dynamic告诉编译器,属性的setter与getter方法

2016-11-09 13:41:42 479

翻译 @property (copy) NSMutableArray *array; 这个写法会出什么问题

我们先回忆一下copy属性的作用,一个属性如果标记了copy,当你调用其setter方法时,他会建立一个索引计数为1的对象,然后释放旧对象。@property (copy) NSMutableArray * a;NSMutableArray* b = [NSMutableArray array];a = b;等同于@property (strong) NSMutable

2016-11-09 10:47:58 2325

转载 iOS APP性能优化

1:应用启动时间 应用启动时,只加载启动相关的资源和必须在启动时加载的资源。2:本地图片加载方式 本地图片加载常用方法有两种: (1),[UIImage imageNamed:@""] 图片多次使用时使用,需要使用此方式加入缓存 (2),[[UIImage alloc] initWithContentsOfFile:@""] 图片不常使用时,不使用缓存3:不要阻塞主线程 开发中除了

2016-09-14 16:47:51 283

转载 那些好用的iOS开发工具

那些好用的iOS开发工具 发表于 2014-06-29 13:12文章目录1. 版权说明2. 前言3. 图形应用工具3.1. Charles3.2. 界面调试3.3. xScope3.4. ImageOptim3.5. 马克鳗4. 命令行工具4.1. CocoaPods4.2. nomad4.3. xctool4.4. appledoc5. Xcode

2016-07-07 14:52:40 534

转载 UIApplicationDelegate中常用的几个方法

本文的一些资料时参考(http://yanwt.iteye.com/blog/1933932) 另外本人也新增的一些常用的方法及加以编辑 本篇文章主要介绍一些UIApplicationDelegate中几个常用的回调方法的调用时机。 以帮助你判断哪些方法倒底放到哪个回调中去实现。/** * 此方法基本已经弃用,改用下面方法 * * @param application

2016-06-28 15:12:06 396

转载 iOS开发之静态库.a的制作教程

简介什么是库?库是程序代码的集合,是共享程序代码的一种方式根据源代码的公开情况,库可以分为 2 种类型开源库公开源代码,能看到具体实现比如 SDWebImage 、 AFNetworking闭源库不公开源代码,是经过编译后的二进制文件,看不到具体实现主要分为:静态库、动态库静态库和动态库静态库和动态库的存在形式静态库:

2016-06-24 10:50:46 310

转载 详解C语言中的宏定义

1. 防止一个头文件被重复包含 [cpp] view plain copy print?#ifndef COMDEF_H   #define COMDEF_H   //头文件内容   #endif   2. 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。 

2016-06-23 10:29:59 4772

转载 UIBezierPath贝塞尔弧线常用方法记

//根据一个矩形画曲线+ (UIBezierPath *)bezierPathWithRect:(CGRect)rect//根据矩形框的内切圆画曲线+ (UIBezierPath *)bezierPathWithOvalInRect:(CGRect)rect//根据矩形画带圆角的曲线+ (UIBezierPath *)be

2016-06-18 22:40:48 259

转载 SVN XXX.xcode xcodeprojcannot be opened because the project file cannot beparsed。

当使用svn提交代码发生冲突时候,xcode工程文件会出现打不开的情况,出现这样的提示:XXX.xcode xcodeprojcannot be opened because the project file cannot beparsed。  因为.xcodeproj工程文件冲突了,然后还是会强制更新,内部文件出现了冲突,所以解析不了文件。解决方法如下:  1. 右键点击.xcode

2016-06-16 16:53:53 373

原创 UIScrollerView上AutoLayout的总结

一.查原因如下:我设置UIScrollerView的SubVIews中的控件的约束,是依靠他的SuperView(也就是UIScrollerView),但UIScrollerView的contentSize大小是依赖于UIScrollView 的subviews,这就相当于我指着他,他指着我,谁都是互相依赖二.正确的做法是:1.在要添加的UISCrollerView

2016-06-16 16:47:29 399

转载 唐&杰出产品经理书 v1.0

http://tangjie.me/shu

2016-06-16 16:37:08 396

转载 iOS中的动画

iOS中的动画  Core Animation  Core Animation是一组非常强大的动画处理API,使用它能做出非常绚丽的动画效果,而且往往是事半功倍,使用它需要添加QuartzCore .framework和引入对应的框架 .开发步骤:    1> 初始化一个动画对象(CAAnimation)并设置一些动画相关属性.    2> 添加动画

2016-06-16 16:33:40 238

空空如也

空空如也

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

TA关注的人

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