自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

番薯大佬的专栏

快乐学习、快乐分享

  • 博客(38)
  • 资源 (53)
  • 收藏
  • 关注

转载 iOS layoutSubviews视图重绘总结

ios layout机制相关方法- (CGSize)sizeThatFits:(CGSize)size- (void)sizeToFit- (void)layoutSubviews- (void)layoutIfNeeded- (void)setNeedsLayout- (void)setNeedsDisplay- (void)drawRectlayoutS

2015-05-30 21:42:13 1655

原创 iOS测试中注意的地方

一、体验篇(1)可以PC/MAC机上下载好,然后用itunes同步到机器上,或者直接在机器上到appstore上下载到本机然后下载,这是最普通和官方的安装方式,但是只能使用已经在appstore上线的app,对于测试的版本基本无意义。(2)由于iPhone是触摸机子,所以在测试时要格外各个按钮、图标、链接的触摸范围,是仅仅在这个元素上,还是说该元素所在的行都可以点击,以及点击按钮时其背景色

2015-05-30 21:39:32 546

转载 20条编程经验

原文作者乔纳森·丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务、生物技术、房地产、医疗、保险和公用事业。正如乔纳 森在文中所言,本文适合刚毕业的大学生和刚入门的程序员。如果你已是高级开发人员,或许你在本文中看到自己的身影。从11岁时,我就一直在编程,并且一直都很喜欢技术和编程。这些年来,我积累了一些艰难又容易的经验。作为

2015-05-30 21:28:32 410

转载 http语言

http://www.enet.com.cn/eschool/zhuanti/easyhtml/5/index.htm常用HTML代码解释 一、文字1.标题文字 .......... #=1~6;h1为最大字,h6为最小字2.字体变化 .......... 【1】字体大小 <font size=#>.......... #=1~7

2015-05-30 21:14:41 5280

转载 重构

重构重构(Refactoring)就是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能,使其程序的设计模式和架构更趋合理,提高软件的扩展性和维护性。另有同名图书。重构的核心重构(名词):对软件内部结构的一种调整,目的是在不改变"软件之可察行为"前提下,提高其可理解性,降低其修改成本。重构(动词):使用一系列重构准则(手法),在不改变

2015-05-30 21:09:02 950

转载 关于项目管理的知识点

关于项目管理的知识点    转自:http://blog.joycode.com/mvm1)你们的项目组使用源代码管理工具了么? 应该用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的选择是VSS。 2)你们的项目组使用缺陷管理系统了么? 应该用。ClearQuest太复杂,我的推荐是BugZ

2015-05-30 20:57:43 398

转载 为什么程序员不擅长估算时间

原文链接:Programmer Time Translation Cheatsheet -or- Why Programmers Are Bad at Estimating Times一个曾经与我一起工作过的经验丰富的项目经理声称,他拿到程序员的时间估算以后,先将它乘以π,然后转化下一个时间数量级后,才能得到真正的值。1天转化成3.14周。他过去因为程序员不擅长估算时间而吃

2015-05-30 20:48:05 395

转载 项目经理两天要做的事

第一天新员工报道我主要工作是引导新员工熟悉开发,首先是让它安装相应的安装程序,vs.net2005,sqlserver2005,vss,project2003,visio2003,CVS,然后就是cheeck in 我们的项目,并编译成功。 再就是要求他看软件开发规范,熟悉项目,熟悉系统的架构等 第二天用project2003写项目工作计划,按各个模块划分,

2015-05-30 20:48:00 781

转载 iOS中UIView layer的对应关系

http://blog.csdn.net/iukey一、添加 Quartz Core 框架1、要使用 Quartz Core 框架,你需要将其添加到你的工程中 2、然后  #import  二、认识图层对 ps 有所了解的人都知道图层的概念,在这里也一样。在PS中一张图片至少得有一个图层,一个或多个图层的叠加构成了一张位图。我们这里一个或多个图层

2015-05-30 14:27:57 2983

转载 mac快捷键大全

系统启动在启动时按下 X:强制使用 Mac OS X 启动电脑在启动时按下 Option-Command-Shift-Delete:不使用主要启动硬盘,并寻找使用外接磁盘与 CD在启动时按下 C:由具有系统文件夹的 CD 光盘启动在启动时按下 N:试图由兼容的网络服务器 (NetBoot) 启动在启动时按下 T:以火线目标磁盘方式启动在启动时按下 Shift:M

2015-05-30 14:25:38 482

转载 iOS7开发者应该的知识体系

2015-05-30 14:24:52 751

转载 iOS多线程编程

使用多线程的好处是可以把程序分成相对独立的几个模块,可以有效的防止某个模块堵塞的时候导致整个程序卡死;还有就是提高运行效率,现在CPU都是多核,多个核可以同时跑,可以同时执行多条线程。多线程的几个概念:1、串行和并发串行的意思是在多个任务下,每次只会有一个任务被执行,并发的意思是同一时间多个任务同时发生。并发是一种现象,解决并发现象的技术,叫做并行。我们经常说的多线程编程,说的就是并行技术,可以让...

2015-05-30 14:12:27 460

原创 iOS多线程编程——NSThread的使用

NSThread是多线程的一种,优缺点如下:(1)优点:NSThread 比GCD、NSOperation都轻量级(2)缺点:需要自己管理线程的生命周期,线程同步。线程同步对数据的加锁会有一定的系统开销NSThread有两种方法创建子线程,一种是隐式创建,另一种是显示创建。第一种是隐式创建,有以下几种方式:(1)多用于串行,且在主线程中执行。- (id)performSelector:(SEL)a...

2015-05-30 14:04:27 734

转载 iOS音频

iPhone通过(lame for iPhone armV7)将音频Caf格式转换成Mp3          这几天的大部分时间也在研究这个,为了达到与Android实现音频互通。主要目的也还是减小Caf的音频体积,转换为Mp3以后体积缩小接近10倍。至于能够转换成Amr 是最好,唉,技术有限,先用Mp3顶着了。这里主要用到lame,一款非常棒的Mp3音频编码器。

2015-05-30 13:42:35 614

原创 iOS开发人员单元测试要求

功能测试: 测试功能是否符合要求,包括从不同入口进入,输出是否符合功能要求UI测试:1)跨系统版本下的UI是否都是符合UI设计人员的要求(例如IOS7和IOS6上的UI存在很大差异,包括系统接口的更改、系统级UI的变更)2)是否符合UI设计规范,包括字体颜色,界面背景色,大小,上下左右间距,上述数值是否使用已定义的统一常量值;3)图片是否

2015-05-30 13:32:31 614

原创 各版本iPhone屏幕分辨率尺寸图标

1、3.5(iPhone4、iPhone4S): 640x9602、4.0(iPhone5、iPhone5S、iPhone5C、iPhoneSE): 640x11363、4.7(iPhone6、iPhone6S、iPhone7、iPhone8): 750x1334(375*667)4、5.5(iPhone6Plus、iPhone7Plus、iPhone8Plus):1242x2208(...

2015-05-30 11:56:49 3771

原创 iOS 结束编辑

方法1// 结束编辑- (void)hiddenKeyboard{[textfield  resignFirstResponder];[textview resignFirstResponder];}方法2// 结束编辑- (void)hiddenKeyboard{[self.view endEditing

2015-05-23 14:24:34 1212

原创 iOS 键盘显示或消失的监听,获取键盘高度

//  键盘即将显示的通知- (void)showKeyboard{[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil];}

2015-05-23 14:13:01 793

原创 系统相册标题显示如何改成中文

在iOS开发中,当使用到系统相册,或相机时,出现的导航栏标题可能是英文的,如『photos』,但是手机当前的语言已经设置了简体中文,这是怎么回事呢?我们可以重置下plist文件里的属性『Localization native development region』,同时将其值设置成『China』。

2015-05-17 11:35:38 1164

原创 点击导航栏列表自动返回第一个cell,及顶部

在iOS7及以后的系统中,如果视图是table列表视图,则在点击导航栏时,列表会自动滚动回顶部。其使用了table列表的属性『scrollsToTop』。但当一个视图中既存在scroll视图,也存在table视图时就有可能造成点击导航栏时,列表不会滚动回顶部的情况,这是因为table是继承scroll的,既两者都有属性『scrollsToTop』,存在冲突,所以没有响应。这个时候只要把scro

2015-05-17 10:00:06 971

原创 UITableView中herderView的复用

在iOS开发中,很多同行似乎只使用了cell的复用,但对于headerView却极少使用复用。下面就给大家说下headerView的复用,直接上码看吧。方法1使用系统自带的headerView- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{

2015-05-17 09:55:22 2755

转载 深入理解 CocoaPods

CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。利用 CocoaPods,可以定义自己的依赖关系 (称作pods),并且随着时间的变化,以及在整个开发环境中对第三方库的版本管理非常方便。CocoaPods 背后的理念主要体现在两个方面。首先,在工程中引入第三方代码会涉及到许多内容。针对 Objective-C 初级开发者来说,工程文件的配

2015-05-10 23:47:44 502

转载 从Objective-C到Swift:几点想法和意见

在这篇文章里我想跟大家谈谈有关我近来从Objective-C过渡到Swift的一些感受。我会尽可能的给大家一些意见,提示一些误区并比较一下在两种语言之间的差异。话不多说,让我们开门见山。单一文件结构 VS 接口-实现最值得一提的一大改动便是在Objective-C中“[接口].h/[实现].m”这种文件结构被取缔了。其实我本人是很支持这种文件结构的,因为通过接口文件来获

2015-05-10 23:28:28 462

原创 iOS常用正则表达式

iOS常用正则表达式 正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。匹配中文字符的正则表达式: [\u4e00-\u9fa5] 评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff] 评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 

2015-05-10 23:12:45 450

原创 iOS开发设计模式

单例模式(Singleton)概念:整个应用或系统只能有该类的一个实例在iOS开发我们经常碰到只需要某类一个实例的情况,最常见的莫过于对硬件参数的访问类,比如UIAccelerometer.这个类可以帮助我们获得硬件在各个方向轴上的加速度,但是我们仅仅需要它的一个实例就够了,再多,只会浪费内存。所以苹果提供了一个UIAccelerometer的实例化方法+share

2015-05-10 22:52:09 528

原创 如何给UIViewController瘦身

一、开发中常见的现象和缺点iOS中最常见的一种设计模式就是MVC,但在实际开发过程中,我们因为这样、那样的原因让单纯的ViewController变成了集Model,Controller以及View的一个大集合,这样势必就会导致VC的代码容量呈几何增长。这样的代码会存在以下几个问题:1、不利于后续维护代码在一个公司的存活时间通常远长于你在公司的时间,你是否也在接手现有项目以后边看代

2015-05-10 22:46:59 866 1

原创 14个Xcode中常用的快捷键操作

1.工程导航器:Command+1快速浏览代码、图片以及用户界面文件。2.显示/隐藏导航器面板:Command+0当你在对屏幕进行截图的时候可能会想要隐藏起与你感兴趣内容的无关的部分。假如你想要使用辅助编辑器或者想要设计用户界面并将其连接到代码的时候,这个快捷键会相当有用。3.显示/隐藏实用工具面板:Command+Option+0实

2015-05-10 22:45:27 524

原创 iOS开发-自动布局之autoresizingMask使用详解

IOS有两大自动布局利器:autoresizing 和 autolayout(autolayout是IOS6以后新增)。autoresizing是UIView的属性,一直存在,使用也比较简单,但是没有autolayout那样强大。如果你的界面比较简单,要求的细节没有那么高,那么你完全可以使用autoresizing去进行自动布局。以下针对autoresizing进行讨论。autores

2015-05-10 22:39:22 822

原创 iOS面试要注意的问题

iOS面试要注意的问题1、自动释放池是什么,如何工作?当您向一个对象发送一个autorelease消息时,Cocoa就会将该对象的一个引用放入到最新的自动释放池。它仍然是个正当的对象,因此自动释放池定义的作用域内的其它对象可以向它发送消息。当程序执行到作用域结束的位置时,自动释放池就会被释放,池中的所有对象也就被释放。 2、说一说static 关键字(1)函数体内 stat

2015-05-10 22:34:59 508

原创 如何快速的查看一段代码的执行时间

如何快速的查看一段代码的执行时间。#define TimeBegin   NSDate *startTime = [NSDate date]#define TimeEnd     NSLog(@"Time: %f", -[startTime timeIntervalSinceNow])在想要查看执行时间的代码的地方进行这么处理:TimeBegin//do your wo

2015-05-10 22:16:17 1530

原创 使用layer的属性allowsEdgeAntialiasing消除锯齿

在使用view的缩放的时候,layer.border.width随着view的放大,会出现锯齿化的问题,解决这个问题需要设置这个属性。如:self.layer.allowsEdgeAntialiasing = YES;

2015-05-10 22:15:14 3337

转载 iOS开发网络篇—搭建本地服务器

http://www.cnblogs.com/wendingding/p/3813436.htmliOS开发网络篇—搭建本地服务器一、简单说明说明:提前下载好相关软件,且安装目录最好安装在全英文路径下。如果路径有中文名,那么可能会出现一些莫名其妙的问题。提示:提前准备好的软件apache-tomcat-6.0.41.tareclipse-jee-

2015-05-10 21:47:23 599

转载 关于Getter和Setter?

我比较习惯一个对象的"私有"属性写在extension里面,然后这些属性的初始化全部放在getter里面做,在init和dealloc之外,是不会出现任何类似_property这样的写法的。就是这样:@interface CustomObject()@property (nonatomic, strong) UILabel *label;@end@implement

2015-05-05 18:08:46 1073

转载 关于MVC、MVVM等一大堆思想

MVCMVC(Model-View-Controller)是最老牌的的思想,老牌到4人帮的书里把它归成了一种模式,其中Model就是作为数据管理者,View作为数据展示者,Controller作为数据加工者,Model和View又都是由Controller来根据业务需求调配,所以Controller还负担了一个数据流调配的功能。正在我写这篇文章的时候,我看到InfoQ发了这篇文章,里面提到

2015-05-05 18:06:08 2514

转载 关于View的布局

业务工程师在写View的时候一定逃不掉的就是这个命题。用Frame也好用Autolayout也好,如果没有精心设计过,布局部分一定惨不忍睹。直接使用CGRectMake的话可读性很差,光看那几个数字,也无法知道view和view之间的位置关系。用Autolayout可读性稍微好点儿,但生成Constraint的长度实在太长,代码观感不太好。Autolayout这边可以考虑使用Mas

2015-05-05 17:59:08 1047

转载 View层架构是影响业务方迭代周期的因素之一

View层架构是影响业务方迭代周期的因素之一产品经理产生需求的速度会非常快,尤其是公司此时仍处于创业初期,在规模稍大的公司里面,产品经理也喜欢挖大坑来在leader面前刷存在感,比如阿里。这就导致业务工程师任务非常繁重。正常情况下让产品经理砍需求是不太可能的,因此作为架构师,在架构里有一些可做可不做的事情,最好还是能做就做掉,不要偷懒。这可以帮业务方减负,编写代码的时候也能更加关注业务。

2015-05-05 17:55:45 687 1

转载 在iOS开发领域中,怎样才算是MVC划分的正确姿势?

在iOS开发领域中,怎样才算是MVC(Model-View-Controller)划分的正确姿势?1、Model应该做的事:给ViewController提供数据给ViewController存储数据提供接口提供经过抽象的业务基本组件,供Controller调度2、Controller应该做的事:管理View Container的生命周期负责生成所有的View实

2015-05-05 16:28:44 551

原创 Cell调整separaLine的位置

在不新建一个Cell的情况下调整separaLine的位置?tableView.separatorInset = UIEdgeInsetsMake(0, 100, 0, 0);

2015-05-04 17:00:49 831

DemoNSUserdefault

iOS研发中数据缓存UserDefault的使用(Demo+文档)

2016-04-17

DemoSqlite

iOS研发中数据缓存sqlite、FMDB、LKDBHelper的使用(Demo+文档)

2016-04-17

DemoKeychain

iOS研发中数据缓存keychain的使用(Demo+文档)

2016-04-17

DemoCoreData

iOS研发中数据缓存coreData的使用(Demo+文档)

2016-04-17

DemoArchivedCoding

iOS研发中数据缓存archiver归档的使用(Demo+文档)

2016-04-17

SQLite关系型数据库的使用

iOS研发中数据缓存SQLite的使用

2016-03-26

FMDB数据库使用

iOS研发中数据缓存FMDB的使用

2016-03-26

coreData使用

iOS研发中数据缓存coreData的使用

2016-03-26

Archiver归档的使用

iOS研发中数据缓存archiver归档的使用

2016-03-26

DemoMVVM架构模式

iOS开发中常用到的技术架构为MVC,但也有用到MVVM。两者主要体现在VM将业务相关逻辑进行了封装,减轻了Controller的负担。

2016-03-02

Demolimit输入限制

在iOS开发中,常会遇到输入限制的情况。本文件档整理了常用到的输入限制,如数字输入限制,长度限制等。定义的方法既有是在代理方法中使用的,也有在通知方法中使用。

2016-02-15

DemoTimeDate

iOS开发中常用到的时间类处理封装,包括各种转换格式。如NSDate转成NSString,或NSString转成NSDate,等。

2016-01-07

小方块输入框

自定义方块输入框,类似于微信支付密码的小方块输入框

2015-11-28

CollectionView的使用

UICollectionView的使用范例,即瀑布式列表的使用。

2015-11-26

iOS移动开发框架

iOS移动开发根视图开发框架设置,Demo中包括抽屉样式,tabbar样式

2015-11-04

iOS移动开发AES加解密

iOS移动开发中使用到的AES加解密技术,使用AES256位加密,解密。

2015-11-04

iOS移动开发MD5加密

iOS开发中常用到的字符串进行MD5加密,区分32位大小写加密,16位大小写加密

2015-11-04

DemoKVO_KVC

KVO即Key-Value Observing,称为键值观察者。是一种编程设计模式,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了。 KVC即Key-Value Coding,称为键值编码,它是一种可以直接通过字符串的名字(key)来访问类属性的机制。

2014-09-03

Notification

通过使用NSNotification通知类,可以实现一对多的传递关系,同时也能很好的避免类与类之间层层递进的关系。但是必须记得在使用过程中可能出现通知会被多次接收,并执行相关的方法,避免这种情况出现必须在接收通知前先移除要接收的通知。

2014-07-11

设备闪光灯

iOS开发中,使用设备闪光灯,即打开或关闭设备的闪光灯。如开发手电筒功能,或是扫一扫功能时设置闪光灯。

2014-07-02

DemoTargetDev

一个项目多个target,通过配置不同的信息,类似多个app。

2019-02-13

demoHitTest

子视图超出父视图范围时,子视图交互也能实现响应事件。

2018-11-08

DemoSignature

使用UberSignature实现手写签名。简单易用,接口API少而简,可以设置位置和大小,也可以设置画笔颜色。

2018-07-26

ViewDeck抽屉菜单

使用第三方框架ViewDeck在项目中设置抽屉式菜单。即设置中间视图控制器,左侧视图控制器,以及右侧视图控制器。或上、下视图控制器。

2017-09-19

RESideMenu抽屉视图

使用第三方框架RESideMenu在项目中设置抽屉式菜单。即设置中间视图控制器,左侧视图控制器,以及右侧视图控制器。

2017-09-19

DemoTablePageAndFrame

计算拖动时的页码以及自动加载

2017-04-18

DemoMKWebView

web view使用的优化,使用MKWebView替换UIWebView

2016-09-23

licecap录制gif软件

录制gif软件

2016-09-09

Mac中jenkins的使用

使用jenkins进行自动化构建

2016-08-23

DemoAnimation

动画效果的实现操作

2016-08-01

DemoNetwork

iOS原生网络请求,使用session,或connection方式

2016-07-24

DemoEmailSMS

iOS APP应用中打电话,发短信,发邮件功能的实现

2016-07-15

DemoThread

多线程使用示例,包括thread,operation,GCD。

2016-07-14

DemoRecognizer

手势操作UIGestureRecognizer,或UITouch

2016-07-09

DemoNSTimer

NSTimer计时器的使用,启动,停止等操作。

2016-07-08

DemoImageTableView

自定义cell中使用添加多个图片并自适应cell高度(类型于电商平台的商品评价添加图片)

2016-07-04

DemoIceRequest

iOS开发中,使用ZeroC ICE进行网络请求。

2016-05-12

DemoRecorder

录音以及音频的播放操作处理。

2016-04-29

DemoiflyMSC

使用科大讯飞进行语音书写。

2016-04-28

DemoPlist源码文档

iOS研发中数据缓存plist的使用(Demo+文档)

2016-04-17

空空如也

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

TA关注的人

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