自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Masonry介绍

前言1MagicNumber -> autoresizingMask -> autolayout以上是纯手写代码所经历的关于页面布局的三个时期在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了在iphone4-iphon

2017-07-20 13:39:23 356

转载 Objective-C Runtime 运行时之一:类与对象

Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理。这种动态语言的优势在于:我们写代码时更具灵活性,如我们可以把消息转发给我们想要的对象,或者随意交换一个方法的实现等。这种特性意味着Objective-C不仅需要一个编译器,还需要一个运行时系统来执行编译的代码。对于Objective-C来说,这个运行时系统就像一个操作系统一样:它让所有的工作

2015-04-30 12:59:36 538

转载 Ios创建真机调试证书

创建真机调试证书苹果开发者网站更新之后的真机调试证书申请前提是: 你得有苹果开发者账号个人($99)、公司($99)、企业($299)账号均可。工具/原料       能上网的苹果电脑         浏览器          Xcode5.1.1以上         苹果开发者账号         ITunes软件         iOS设

2015-04-22 13:30:04 721

转载 ios将Image保存到手机相册

应用中有时我们会有保存图片的需求,如利用UIImagePickerController用IOS设备内置的相机拍照,或是有时我们在应用程序中利用UIKit的 UIGraphicsBeginImageContext,UIGraphicsEndImageContext,UIGraphicsGetImageFromCurrentImageContext方法创建一张图像需要进行保存。 IOS的UIKit

2015-03-19 16:11:54 1300

原创 iOS中四种数据持久化方式

ios数据持久化方法基本有这四种: 1.属性列表(NSUserDefaults):  用于存储配置信息2. 对象归档3. 数据库存储(SQLite3) : 用于存储查询需求较多的数据4. 苹果提供的持久性工具CoreData: 用于规划应用的对象

2015-02-12 11:58:12 537

转载 iOS Auto Layout的使用

引言:Auto Layout是iOS6发布后引入的一个全新的布局特性,其目的是弥补以往autoresizing在布局方面的不足之处,以及未来面对更多尺寸适配时界面布局可以更好的适应.要完全掌握Auto Layout是一件非常消耗精力的事情,需要大量的实践,并且在根本上面,理解其如何使用,如果要全面的介绍Auto Layout和使用场景估计几篇博文都介绍不完,本文希望能将使用Auto

2014-12-11 14:01:04 518

转载 iOS自带扫描器--NSScanner

要从一段文字和数字的字符串中取出dian

2014-11-07 11:47:02 685

原创 iOS开发中,应用内直接跳转到Appstore

1.进入App Store中指定的应用NSString *str = [NSString stringWithFormat:                          @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa /wa/viewContentsUserReviews?type=Purple+Software&id

2014-11-07 09:55:03 550

转载 数据持久化(五)之CoreData

@简单的说,Core Data就是可以存储到磁盘的对象图,[...]Core Data可以帮我们做很多任务作.它可以作为软件的整个模型层。它不仅仅在磁盘上存储数据,也把我们需要的数据对象读取到内存中。                                                                                               

2014-11-04 16:36:10 700

转载 ios7毛玻璃效果实现

核心代码:[cpp] view plaincopy//加模糊效果,image是图片,blur是模糊度  - (UIImage *)blurryImage:(UIImage *)image withBlurLevel:(CGFloat)blur {      //模糊度,      if ((blur  2.0f)) {  

2014-11-04 16:22:32 576

转载 仿制QQ界面

[objc] view plaincopy#pragma mark - @主绘制画面  - (void)viewDidLoad  {      [super viewDidLoad];      // Do any additional setup after loading the view.            #pragma mark

2014-11-04 16:20:43 1540

转载 [UIApplication sharedApplication].delegate 调用全局变量

#UIApplication,顾名思义,代表的是整个应用做的事,因此每个程序只能有一个,系统使用的是单例模式,就是上面的[UIApplication sharedApplication]来得到一个实例。这个单例实例是在系统启动时由main函数里面的UIApplicationMain方法生成,就是每个程序里都有的AppDelegate,它实现了UIApplicationDelegate的Prot

2014-11-04 16:19:17 696

转载 系统相机的调用(只能真机试验)

[objc] view plaincopy#pragma  mark - 相机调用拍照  - (void)didClickRightButton{        if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {  

2014-11-04 16:17:33 651

转载 iOS开发之保存图片到手机相册

- (void)viewDidLoad  {      [super viewDidLoad];      // Do any additional setup after loading the view.            self.imageView = [[UIImageView alloc] initWithFrame:CGRectMake(60, 100, 20

2014-11-04 16:15:20 674

转载 layoutSubviews总结

原文地址:点击打开链接今天跟旺才兄学习了一下UIView的setNeedsDisplay和setNeedsLayout方法。首先两个方法都是异步执行的。而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到UIGraphicsGetCurrentContext,就可以画画了。而setNeedsLayout会默认调用layoutSubViews,就可以处理子视图中的

2014-11-04 16:06:47 551

转载 提示框MBProgressHUD

MBProgressHUD是一个开源项目,实现了很多种样式的提示框,使用上简单、方便,并且可以对显示的内容进行自定义,功能很强大,很多项目中都有使用到。到GitHub上可以下载到项目源码https://github.com/jdg/MBProgressHUD,下载下来后直接把MBProgressHUD.h和MBProgressHUD.m拖入工程中就行,别忘了选择拷贝到工程。完了在需要使用的地方导入

2014-11-03 15:40:52 697

转载 SDWebImage使用——一个可管理远程图片加载的类库

SDWebImage使用——一个可管理远程图片加载的类库SDWebImage托管在github上。https://github.com/rs/SDWebImage这个类库提供一个UIImageView类别以支持加载来自网络的远程图片。具有缓存管理、异步下载、同一个URL下载次数控制和优化等特征。将SDWebImage类库添加入工程时,一定注意需要添加MapKit.frame

2014-10-31 16:37:55 608

转载 iOS7 Networking with NSURLSession

Part1:From a developer's perspective, one of the more significant changes in iOS 7, and OS X Mavericks for that matter, is the introduction of NSURLSession. Even thoughNSURLSession may seem daun

2014-09-10 16:12:46 1694

转载 iOS网络编程 (第三方开源库)----->AFNetworking

AFNetworking是一个为 iOS 和 Mac OSX 制作的令人愉快的网络库,它建立在URL 装载系统框架的顶层,内置在Cocoa里,扩展了强有力的高级网络抽象。它的模块架构被良好的设计,拥有丰富的功能,因此,使用起来,必定赏心悦目。       @原文链接https://github.com/AFNetworking/AFNetworking,我在此基础上了点配置修改

2014-09-10 15:20:56 792

转载 iOS开发创建开发证书及发布App应用流程说明

先说一下这个发布 编译 苹果app的流程吧1.注册pe

2014-08-18 11:14:25 961

原创 拨打电话

//电话号码   NSString *phoneNumber = @"";   NSURL *phoneURL = [NSURLURLWithString:[NSStringstringWithFormat:@"tel:%@",[clientInfovalueForKey:@"phone"]]];    if ( !phoneCallWebView ) {

2014-08-13 11:38:53 678

转载 iOS工程中Xcode出现my mac 64-bit错误

本文转自http://www.himigame.com/iphone-cocos2d/621.html1.  首先介绍如何解决设备一栏现实“My mac 64-bit”问题:童鞋们都知道Xcode会根据当前SDK在Run按钮旁边的选项栏中显示适合的Simulator供开发者选择,如下图: 但是有时候则错误显示“My mac 64-bit” ,这个明显不是我们想要的,如下图:

2014-08-13 11:03:17 501

原创 iOS Device问题 -- 解决

下载网上的demo后,在准备运行的时候, 经常只能选择iOS Device。 无法选择模拟器在电脑上进行测试。如下:

2014-08-13 10:53:15 1351

原创 添加引导页 (引导页的图片根据网络请求获取,张数不一定)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

2014-08-07 15:12:37 1861

原创 下拉刷新和上拉加载更多原理

很多App中,新闻或者展示类都存在下拉刷新和上拉加载的效果,网上提供了实现这种效果的第三方类(详情请见MJRefresh和EGOTableViewPullRefresh),用起来很方便,但是闲暇之余,我们可以思考下,这种效果实现的原理是什么,我以前说过,只要是动画都是骗人的,只要不是硬件问题大部分效果都能在系统UI的基础上做出来.            @下面是关键代码分析:

2014-07-09 14:48:02 2426

转载 数据持久化(三)使用第三方类库FMDB

@SQLite是一种小型的轻量级的关系型数据库,在移动设备上使用是非常好的选择,无论是Android还是IOS,都内置了SQLite数据库,现在的版本都是SQLite3。在IOS中使用SQLite如果使用SDK提供的方法,特别麻烦也不利于理解和使用,感觉使用很不方便,今天就讲讲一个针对IOS的SQlite API封装的第三方库FMDB,FMDB对SDK中的API做了一层封装,使之使用OC来访问,使

2014-07-04 11:29:26 766

原创 loadView,viewDidLoad,viewDidUnload什么时候被调用

标题中所说的3个方法,都是UIViewController的方法,跟UIViewController的view属性的生命周期息息相关。接下来我会一一阐述它们的作用以及它们之间的联系。loadView1.什么时候被调用?每次访问UIViewController的view(比如controller.view、self.view)而且view为nil,loadView方法就会被调用。2.

2014-07-03 22:49:57 985

转载 点击搜索取消UISearchDisplayController的搜索状态

一般,我们用到UISearchDisplayController的时候,都是需要对一个数据源进行刷选,在UISearchDisplayController自带的tableView中展示出来,然后点击退出详情.我最近在做大众点评第三方的时候,遇到一个问题,我展示出了全部商店,想加搜索功能,但是不知道输入的搜索关键字去跟什么匹配,大众点评也并没有提供一个用来刷选的数据源接口,这样,我只能自己输入关键字

2014-07-03 09:40:41 745

转载 从下往上增加的柱状图生成动画(适用于统计类应用)

我们在一些统计,理财应用中,经常能看到很多的柱状图,用来直观的标注信息,最近一个朋友刚好在做这方面的应用,跑来问我这个怎么实现,我笑他不就是简单的实现一个动画嘛,额,然后自己去做的时候才发现各种坑.       1.所有的UIView子类中,UILabel不能实现效果       2.创建View和对View实现的动画效果要放在一个方法中       3.增加的height

2014-07-03 09:25:29 985

原创 剖析Path侧边栏抽屉效果原理(抽屉效果,Path效果)

如今很多App应用,都用到了侧边栏的效果,比如网易新闻(还带有偏移缩小),今日头条(普遍这种),Path(最先应用这种抽屉效果,所以这种效果也叫Path效果),code4App上已经有很多网友写的第三方侧边栏类,大家可以直接拿来用.这里我主要的是介绍一下这种效果的实现原理,涉及了几个知识点,在其他地方也能用到.            UINavigationController和UITab

2014-07-03 09:23:30 844

原创 iOS开发之邮件发送

1.导入库文件:MessageUI.framework 2.引入头文件                     3.实现代理MFMailComposeViewControllerDelegate> 和 UINavigationControllerDelegate>@代码示例:[objc] view plaincopy

2014-07-03 09:20:34 742

原创 深拷贝和浅拷贝的区别

ios中并不是所有的对象都支持copy,mutableCopy,遵守NSCopying 协议的类可以发送copy消息,遵守NSMutableCopying 协议的类才可以发送mutableCopy消息。假如发送了一个没有遵守上诉两协议而发送 copy或者 mutableCopy,那么就会发生异常。但是默认的ios类并没有遵守这两个协议。如果想自定义一下copy 那么就必须遵守NSCopying,并

2014-07-02 22:43:31 590

原创 强引用(strong)\弱引用(weak)\unsafe_unretained的区别

@property (nonatomic, strong) NSString *string1;   @property (nonatomic, strong) NSString *string2;  self.string1 = @"String 1";   self.string2 = self.string1;   self.string1 = nil;  N

2014-07-02 21:19:53 669

原创 堆和栈的区别

10. 堆和栈的区别?内存分配:栈区(stack)由编译器自动分配和释放。堆区(heap)一般由程序员分配并释放,若程序员不释放,程序结束可能由OS回收。它与数据结构中的堆是两回事,分配方式类似于链表。全局区(静态区static):全局变量和静态变量的存储是放在一起的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域,程序结束后系统释放

2014-07-02 19:26:59 484

原创 iOS中容易犯错的知识点

1.UIView下,UIImageView和UILabel的 userInteractionEnabled 默认是NO,要相应交互,就要设置为YES透明的UIView遮挡住了SuperView,使SuperView不能响应点击事件怎么办?把UIView的userInteractionEnabled属性设置为NO啊。2.如果点击一个父视图上的子视图没有反应,有两种情况:第一种就是上面

2014-07-02 11:04:59 565

转载 Block调用引起的内存泄露

@前面的文章讲到,在Block中用到self(self特指UIViewController),需要用__block或者__weak修饰(MRC与ARC的区别),因为Block调用会对其里面的对象引用计数加1,如果你不确定你调用的Block是否会产生循环引用的话,最好用__block或__weak修饰.当然,如果你确定并不会产生循环引用的情况,那你可以放心的self.  self. (~O(∩_∩)

2014-07-02 09:38:29 632

原创 Lazy懒加载(延迟加载)UITableView

举个例子,当我们在用网易新闻App时,看着那么多的新闻,并不是所有的都是我们感兴趣的,有的时候我们只是很快的滑过,想要快速的略过不喜欢的内容,但是只要滑动经过了,图片就开始加载了,这样用户体验就不太好,而且浪费内存.             这个时候,我们就可以利用lazy加载技术,当界面滑动或者滑动减速的时候,都不进行图片加载,只有当用户不再滑动并且减速效果停止的时候,才进行加载.

2014-07-02 09:35:45 1164

转载 上拉下拉的原理

很多App中,新闻或者展示类都存在下拉刷新和上拉加载的效果,网上提供了实现这种效果的第三方类(详情请见MJRefresh和EGOTableViewPullRefresh),用起来很方便,但是闲暇之余,我们可以思考下,这种效果实现的原理是什么,我以前说过,只要是动画都是骗人的,只要不是硬件问题大部分效果都能在系统UI的基础上做出来.            @下面是关键代码分析:

2014-07-02 09:32:57 961

转载 一些常用的宏定义

宏定义[objc] view plaincopy// 安全释放  #define RELEASE_SAFELY(__Pointer) do{[__Pointer release],__Pointer = nil;} while(0)    // 屏幕的物理高度  #define  ScreenHeight  [UIScreen m

2014-07-02 09:30:15 536

转载 iOS真机调试

真机调试/*************************************************************1********************************************************************//***********************************************

2014-07-02 09:19:41 556

空空如也

空空如也

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

TA关注的人

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