- 博客(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开发中,应用内直接跳转到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
原创 拨打电话
//电话号码 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关注的人