自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 iOS开发笔记--添加cell动画

[_mainTable beginUpdates]; [_mainTable insertRowsAtIndexPaths:indexPath withRowAnimation:UITableViewRowAnimationTop]; [_mainTable endUpdates]; [_mainTable beg

2017-03-20 14:21:25 923 1

原创 iOS开发笔记--Cell选中时候上面View看不见

今天开发中遇见一个问题,就是cell被选中时候,cell上面的view全部都看不见了。其实View并没消失,只是透明了。下面是从苹果官方文档拷贝的: UITableViewCell changes the background color of all sub views when cell is selected or highlighted.意思就是说当UITableViewCell被选中

2016-05-12 18:38:49 1918

原创 iOS开发笔记--描边label

今天需求突然要求需要描边文字,在网上找了一下,发现挺简单的,自己封装了一个- (void)drawTextInRect:(CGRect)rect { CGSize shadowOffset = self.shadowOffset; UIColor *textColor = self.textColor; CGContextRef c = UIGraphicsGetCurrentC

2016-03-14 17:51:47 2551

转载 iOS开发笔记--iOS之轻松上手block

导语 不会使用block的iOS程序员,不是一个合格的程序员 学会了block,你再也不想用繁琐的代理 block没有你想象中的那么难,不要害怕,不要畏惧,勇敢尝试 什么是block block其实就是一个代码块,把你想要执行的代码封装在这个代码块里,等到需要的时候再去调用。那block是OC对象吗?答案是肯定的 笔者以英语3.9级的水平给大家翻译下,“block是一个O

2016-03-08 15:10:29 1454

转载 iOS开发笔记--先弄清楚这里的学问,再来谈iOS内存管理与优化(二)

上篇文章讲述了iOS内存管理的基本概念,这里是一些内存优化的小技巧Strong Weak Dance这个大家都知道,就是处理循环引用,合理使用weak和unowned。降低内存峰值Lazy Allocation 延时加载是很常用的一种优化方法,如果有些情况我们不会立即使用某一对象和某些资源,我们完全可以在使用的时候再进行加载,这些就可以避免初次运行程序的时候内存消耗严重。lazy var good

2016-03-08 11:26:23 1423

转载 iOS开发笔记--先弄清楚这里的学问,再来谈iOS内存管理与优化(一)

内存有分类吗?什么类型的内存可以回收?当然具有分类Clean Memory:在闪存中有备份,能够再次读取。主要包括system framework、binary executable of your app、memory mapped filesDirty Memory:所有非Clean Memory,系统无法回收。包括Heap allocation、caches、decompressed i

2016-03-08 11:15:12 3588

转载 iOS开发笔记--iOS网络七层模型&&网络数据包

引言今天回顾一下--网络七层模型&&网络数据包网络基本概念OSI模型OSI 模型(Open System Interconnection model)是一个由国际标准化组织提出概念模型,试图提供一个使各种不同的计算机和网络在世界范围内实现互联的标准框架。 它将计算机网络体系结构划分为七层,每层都可以提供抽象良好的接口。了解 OSI 模型有助于理解实际上互联网络的工业标准——TCP/IP 协议。

2016-02-26 10:54:17 7606

转载 iOS开发笔记--基于面向协议MVP模式下的软件设计

传统模式下的开发MVCMVVM基于面向协议MVP的介绍MVP实战开发说在前面: 相信就算你是个iOS新手也应该听说过MVC的,MVC是构建iOS App的标准模板。随着时间的推移,在iOS平台上MVC也逐渐开始面临着越来越多的问题,最近又开始流行MVVM,MVVM使由MVC衍生而来,MVVM作为一种新的开发模式和响应式编程相结合用来解决一部分业务场景等,今天,我要介绍给大家的是一个新的方

2016-01-13 15:34:36 2985

转载 iOS开发笔记--详解苹果的黑魔法 – KVO 的奥秘

序言在iOS开发中,苹果提供了许多机制给我们进行回调。KVO(key-value-observing)是一种十分有趣的回调机制,在某个对象注册监听者后,在被监听的对象发生改变时,对象会发送一个通知给监听者,以便监听者执行回调操作。最常见的KVO运用是监听scrollView的contentOffset属性,来完成用户滚动时动态改变某些控件的属性实现效果,包括渐变导航栏、下拉刷新控件等效果。使用KVO

2015-12-29 11:07:56 1245

转载 iOS开发笔记--iOS 跳转到系统的设置界面【适用iOS7.1、8.3、9.1】

在项目中,我们经常会碰到使用位置的需求。当用户设置app不允许使用位置的时候,最好的用户体验就是直接调转到系统的位置设置界面,进行设置。本人已经测试,在5c/6 iOS8.3系统 、6 iOS9.1系统和 5s iOS7.1系统中可以正常跳转1.跳转到自己的项目中在需要调转的按钮动作中添加如下的代码,就会跳转到设置中自己的app的设置界面,这里会有通知和位置权限的设置NSURL * url = [N

2015-12-28 14:50:37 3878 3

转载 iOS开发笔记--iOS 事件处理机制与图像渲染过程

iOS 事件处理机制与图像渲染过程·iOS RunLoop都干了什么·iOS 为什么必须在主线程中操作UI·事件响应·CALayer·CADisplayLink 和 NSTimer·iOS 渲染过程·渲染时机·CPU 和 GPU渲染·Core Animation·Facebook Pop介绍·AsyncDisplay介绍·参考文章iOS RunLoop都干了什么RunLoop是一个接收处理异步消息

2015-12-04 14:00:42 12728

原创 iOS开发笔记--OC工程中调用不了Swift代码

今天在OC工程里面直接引入了一个第三方的Swift包,结果OC文件里面死活找不到Swift对象。打开 “工程名-swift.h”文件内容似乎是空的。(正常的文件应该会有很多OC方法,对象) 后来发现工程里面并没有”工程名-Bridging-Header.h”文件。 然后如果需要生成”工程名-Bridging-Header.h”文件,必须在导入Swift文件前,创建一个新的Swift文件,(必

2015-11-11 15:48:33 2079

转载 iOS开发笔记--关于 @synchronized,这儿比你想知道的还要多

如果你已经使用 Objective-C 编写过任何并发程序,那么想必是见过 @synchronized 这货了。@synchronized 结构所做的事情跟锁(lock)类似:它防止不同的线程同时执行同一段代码。但在某些情况下,相比于使用 NSLock 创建锁对象、加锁和解锁来说,@synchronized 用着更方便,可读性更高。译者注:这与苹果官方文档对 @synchronized 的介绍有少许

2015-11-04 17:30:23 8064 1

转载 iOS开发笔记--iOS应用架构谈 view层的组织和调用方案

前言《iOS应用架构谈 开篇》出来之后,很多人来催我赶紧出第二篇。这一篇文章出得相当艰难,因为公司里的破事儿特别多,我自己又有点私事儿,以至于能用来写博客的时间不够充分。现在好啦,第二篇出来了。当我们开始设计View层的架构时,往往是这个App还没有开始开发,或者这个App已经发过几个版本了,然后此时需要做非常彻底的重构。一般也就是这两种时机会去做View层架构,基于这个时机的特殊性,我们在这时候必

2015-10-20 17:41:02 1129

转载 iOS开发笔记--iOS应用架构谈 开篇

缘由之前安居客iOS app的第二版架构大部分内容是我做的,期间有总结了一些经验。在将近一年之后,前同事zzz在微信朋友圈上发了一个问题:假如问你一个iOS or Android app的架构,你会从哪些方面来说呢?当时看到这个问题正好在乘公车回家的路上,闲来无聊就答了一把。在zzz在微信朋友圈上追问了几个问题之后,我觉得有必要开个博客专门来讲讲一些个人见解。其实对于iOS客户端应用的架构来说,复杂

2015-10-20 17:16:13 1116

转载 iOS开发笔记--超全!iOS 面试题汇总

作者:Job_Yang之前看了很多面试题,感觉要不是不够就是过于冗余,于是我将网上的一些面试题进行了删减和重排,现在分享给大家。(题目来源于网络,侵删)Object-c的类可以多重继承么?可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么?答: Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成C++的多重继承;Category是类

2015-10-20 16:53:38 2641

转载 iOS开发笔记--Objective-C实现多继承

我们都知道objective C不能像C++一样支持多继承,但是在OC的使用经常会碰到需要使用多继承的情况。例如,ClassA中有methodA,ClassB中methodB,而现在需要使用这两个类中的方法。如何按照C++的编程思路,毫无疑问采用多继承就搞定了,在OC就需要动动脑子了。 其实我们在学习设计模式的时候知道,多继承的效率不高,而且采用组合的模式可以完全代替继承模式。那么,这种思

2015-10-20 16:37:48 3897

原创 iOS开发笔记--去掉Navigation下方的黑线(分割线)

if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){ NSArray *list=self.navigationController.navigationBar.subviews; for (id

2015-04-27 18:47:21 7542

转载 iOS开发笔记--去掉tableview中section的headerview粘性

ios的tableview中headerview会随着滑动黏在上方,直到新的sectionheaderview出现并替换掉,这是个好的特性,但是在为了实现PM某些需求的时候,又不是很符合心意,在网上查了下,找到了其解决方法: // 去掉UItableview headerview黏性(sticky) - (void)scrollViewDidScroll:(UIScrollVie

2015-03-10 15:08:37 21884

转载 iOS开发笔记--

在你的应用代理中找到applicationdidFinishLaunching,添加以下代码:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{self.window.rootViewController = self.vi

2015-02-25 15:05:13 651

原创 iOS开发笔记--[__NSArrayI addObjectsFromArray:]: unrecognized selector错误

今天在操作NSMutableArray数字增加和删除时候出现崩溃,报错[__NSArrayI addObjectsFromArray:]: unrecognized selector。找了一个小时,发“__NSArrayI”这个提示比较重要。查了一下发现__NSArrayI is a code-word for an immutable array - that is, a "

2014-12-25 10:12:53 5373 1

转载 iOS开发笔记--使用UITextField自动格式化银行卡号

项目中需要输入银行卡,希望自动按照4为分组格式化。    自己用UITextField的Delegate实现了一个,但是突然发现IOS提供了NSNumberFormatter好像可以对数字进行格式化,可是不知道这个玩意咋用,就在stackOverflow上发了求助帖。    不一会就有一印度阿三答复我了,丫的不仅答复我了,还修改了我提问中的语法错误,让人汗颜啊……    他的写

2014-12-23 20:38:31 2352

转载 iOS开发笔记--使用Auto Layout中的VFL(Visual format language)--代码实现自动布局

本文将通过简单的UI来说明如何用VFL来实现自动布局。在自动布局的时候避免不了使用代码来加以优化以及根据内容来实现不同的UI。一:API介绍NSLayoutConstraint API//NSLayoutConstraint+ (NSArray *)constraintsWithVisualFormat:(NSString *)format options:(NSLayo

2014-12-10 11:39:13 7030

转载 iOS开发笔记--检查App更新

#pragma mark - 检查更新- (void)checkUpdateWithAPPID:(NSString *)APPID{ //获取当前应用版本号 NSDictionary *appInfo = [[NSBundle mainBundle] infoDictionary]; NSString *currentVersion = [appInfo obj

2014-12-09 16:01:56 2777

原创 iOS开发笔记--调用打开AppStore显示自己的App

- (void)openAppaleShop{ NSString *appleID = @"949346638"; if ([UIDevice isIOS7]) { NSString *str = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@",appleID];

2014-12-09 15:59:48 8653

原创 ios开发笔记--判断输入的手机号和价格是否合法

///// 手机号码的有效性判断//检测是否是手机号码- (BOOL)isMobileNumber:(NSString *)mobileNum{ /** * 手机号码 * 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188 * 联通:130,131,132,152,155,156

2014-11-27 14:39:51 8408

转载 iOS开发笔记--UITableViewCell的选中时的颜色及tableViewCell的selecte与deselecte

1.系统默认的颜色设置

2014-11-07 17:05:03 37459

转载 iOS开发笔记--视图切换的动画效果

为了避免视图之间切换的呆板问题,在IPHONE中引入了转换动画效果,分别在UIKit.framework和QuartzCore.framework中,后者的动画类型要比前者丰富一些。

2014-11-04 09:24:59 1339

转载 iOS开发笔记--iOS组件之UILabel

UILabel 的常见属性和方法: //创建UIlabel对象UILabel* label = [[UILabel alloc] initWithFrame:self.view.bounds];//设置显示文本label.text = @"This is a UILabel Demo,";//设置文本字体label.font = [UIFont fontWithName:@

2014-10-09 13:57:56 884

转载 iOS开发笔记--iOS 无限后台运行

根据苹果文档中关于后台执行的描述,任何app都有10分钟左右的后台任务执行时间。 10分钟后,app会被iOS强行挂起。但是,有5类app允许有“无限的”后台运行时间:1. Audio。2. Location/GPS。3. VoIP。4. Newsstand。5. Exernal Accessory 。你可以将任何app声明为上述5种类型以获得无限的后台运行时间,但当你

2014-09-30 16:26:32 1479

原创 欢迎大家加入Xcode公社

朋友几个一起建了一个iOS技术jiao

2014-09-29 09:41:30 940 4

原创 iOS开发笔记--如何去掉UItableview header(footer)view黏性(sticky)

今天做项目时候发现要去掉section在tableview中的黏性

2014-09-12 09:54:00 12242

转载 Get和Post区别

1. get是从服务器上获取数据,post是向服务器传送数据。2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。3. 对于get方式,服务器端用Request.Qu

2014-08-20 17:12:21 707

原创 iOS开发笔记--将视图或者按钮设置为圆形

主要通过layout的cornerRadius属性来完成,一般需要的圆角都是jia

2014-08-14 15:51:43 4484

原创 iOS开发笔记--一些实用的宏定义

这是在工作中常用的一些比较实用的宏定义// 声明单件类的类方法#define DECLARE_SINGLETON_FOR_CLASS(classname) \+ (classname*)shared##classname;// 获取单件实例的宏定义#define GET_SINGLETON_FOR_CLASS(classname) \[classname shared##class

2014-06-19 15:40:52 912

转载 iOS开发笔记--异步加载图片在TableView中的应用

//AsyncImageView.h文件@interface AsyncImageView : UIView {NSURLConnection* connection;NSMutableData* data;}@end

2014-06-01 22:56:44 2912

转载 iOS开发笔记--异步加载UIImageView----AsyImageView

能够异步加载图片的,通过调用方法loadImageWithUrl:与loadImageWithUrl:andDefaultImage:来进行异步加载。用到了NSCache、文件缓存、NSOperation、NSQueue来完成。首先是头文件的定义

2014-06-01 22:53:01 1982

转载 iOS开发笔记--解决UITableView中Cell重用机制导致内容出错的方法总结

UITableView继承自UIScrollview,是苹果为我们封装好的一个基于scroll的控件。上面主要是一个个的UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以在UITableViewCell中加入UITextField或者UITextView等子视图,使得可以在cell上进行文字编辑。 UITableView中的cell可以有很

2014-05-23 13:26:48 5509

原创 iOS开发笔记--空值转为字符串时候的问题

今天在做密码上传时候遇见了一个诡异的bug,明明m

2014-05-23 10:06:05 1207

原创 iOS开发笔记--设置UITextField键盘上return key不可点击

今天在做搜索栏时候,发现系统软键盘有xia

2014-05-09 16:39:30 19109 1

空空如也

空空如也

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

TA关注的人

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