自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NSNumberFormatter数字格式化

示例:NSNumber *numB = [NSNumber numberWithDouble:666.666];NSString *numberNoStyleStr = [NSNumberFormatter localizedStringFromNumber:numB numberStyle:NSNumberFormatterNoStyle];typedefNS_EN

2017-08-07 21:20:53 1230

原创 相机、相册使用

访问相机相册用的都是 UIImagePickerController相关权限问题://首先需要导入头文件: #import                 // 判断是够有全向访问相机        AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMe

2016-11-02 17:23:31 365

原创 UIAlertController的使用及其自定义

UIAlertController的正常用法// 上传- (void)btnClick{    /* preferredStyle有且只有这两种枚举类型     *     UIAlertControllerStyleActionSheet  在屏幕底部弹出     *     UIAlertControllerStyleAlert  在屏幕中间弹出

2016-11-01 13:56:40 6065

原创 NSPredicate的使用

NSPredicate的使用详解,过滤数组的功能十分强大

2016-10-28 16:28:01 482

原创 UISegmentedControl

//初始化UI_segmentedControlNSArray *segmentedArray = [[NSArrayalloc]initWithObjects:@"1",@"2",@"3",@"4",nil];UISegmentedControl *segmentedTemp = [[UISegmentedControlalloc] initWithItems:segment

2016-04-26 14:13:55 251

原创 社交分享功能

如何实现社交分享:在iOS中实现社交分享的方法有三种:->自己编写各个平台的分享代码(代码量较多)->利用ios自带的Social.framework->利用第三方的分享框架友盟分享:http://dev.umeng.com/social/ios/share/quick-integrationShareSDK:http://wiki.mob.com/iOS快速集成指南

2015-11-29 15:27:18 1125

原创 应用间跳转

URL:统一资源定位符http://www.baidu.com tel://110   file:///apple/Desktop/ 协议头Scheme:http:// tel:// file:// 资源路径path:www.baidu.com 110 /apple/Desktop/要想实现应用间的跳转,必须配置协议头 项目->info->url types

2015-11-28 18:10:22 297

原创 地图与定位

在iOS开发中,要想加入地图和定位功能,必须基于2个框架进行开发MapKit :用于地图展示CoreLocation :用于地理定位2个热门专业术语LBS :LocationBasedServiceSoLoMo :SocialLocalMobile(索罗门)CoreLocation框架的使用导入主头文件#import CoreLoca

2015-11-25 17:44:58 388

原创 核心动画(Core Animation)

Core Animation是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果开发步骤:①初始化一个动画对象(CAAnimation)并设置一些动画相关属性②添加动画对象到层(CALayer)中,开始执行动画CALayer中很多属性都可以通过CAAnimation实现动画效果,包括:opacity、position、transform、bounds、cont

2015-11-19 15:45:31 642

原创 图层(CALayer)

先了解下什么是图层(CALayer)其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层@property(nonatomic,readonly,retain)CALayer *layer;当UIView需要显示到屏幕上

2015-11-19 14:16:20 338

原创 SQLite的基本使用 与FMDB框架的使用

SQLite是一款轻型的嵌入式数据库它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了它的处理速度比Mysql、PostgreSQL这两款著名的数据库都还快什么是数据库数据库(Database)是按照数据结构来组织、存储和管理数据的仓库数据库可以分为2大种类关系型数据库(主流)对象型数据库常用关系型数据库PC端:Orac

2015-11-11 18:28:33 986

原创 CoreData的使用

Core Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间,我们不需要编写任何SQL语句CoreData的使用步骤1.创建模型文件相当于数据库2.添加实体相当表3.创建实体类相于模型类4.生成上下文 关联模型文件生

2015-11-11 09:39:10 270

原创 UIWebView的使用、oc与js的交互、url的常用属性

基本使用:1、创建url NSURL *url = [NSURLURLWithString:@"http://m.baidu.com"];2、创建请求// 创建请求NSMutableURLRequest *request = [NSMutableURLRequestrequestWithURL:url];3、加载请求[self.web

2015-11-10 17:14:30 368

原创 AFNetworking3.0的使用

具体使用:- (void)getDemo{ NSString *urlStr = @"http://127.0.0.1/videos.json"; // 首先创建一个管理对象 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; // GET

2015-11-09 17:04:58 312

原创 NSURLSession

NSURLConnection问题: 1.做复杂的网络操作,需要使用代理来实现。 比如下载大文件 2.默认下载任务在主线程工作。 3.默认这个任务的代理也是在主线程 4.如果添加到子线程去执行,需要主动启动运行循环 5.只提供开始和取消。 不支持暂停。使用NSURLSession肯定是异步NSU

2015-11-09 16:03:59 413

原创 GET 与 POST

HTTP通信过程- 请求HTTP协议规定:1个完整的由客户端发给服务器的HTTP请求中包含以下内容请求行:包含了请求方法、请求资源路径、HTTP协议版本GET /MJServer/resources/images/1.jpg HTTP/1.1请求头:包含了对客户端的环境描述、客户端请求的主机地址等信息Host: 192.168.1.105:8080   // 客

2015-11-08 20:40:00 272

原创 建立网络连接的基本步骤及NSJSONSerialization(苹果自带)——JSON解析

什么是JSONJSON是一种轻量级的数据格式,一般用于数据交互服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外)NSJSONSerialization的常见方法JSON数据 ——>OC对象(JSON解析)+ (id)JSONObjectWithData:(NSData*)data options:(NSJSONReadingOptions)

2015-11-08 17:33:13 472

原创 NSCache的使用,SDWebImage的使用,Reachability联网状态检测框架的使用

NSCache 是苹果官方提供的缓存类,用法与 NSMutableDictionary 的用法很相似,在 AFNetworking 和 SDWebImage 中,使用它来管理缓存NSCache 是线程安全的,在多线程操作中,不需要对 Cache 加锁NSCache 的 Key 只是做强引用,不需要实现 NSCopying 协议~~~~~~

2015-11-08 16:00:06 391

原创 多线程——NSOperation

NSOperation和NSOperationQueue实现多线程的具体步骤先将需要执行的操作封装到一个NSOperation对象中然后将NSOperation对象添加到NSOperationQueue中系统会自动将NSOperationQueue中的NSOperation取出来将取出的NSOperation封装的操作放到一条新线程中执行NSOperation是个抽

2015-11-07 09:25:18 347

原创 多线程 —— GCD

什么是GCD全称是Grand Central Dispatch,可译为“牛逼的中枢调度器”纯C语言,提供了非常多强大的函数GCD的优势GCD是苹果公司为多核的并行运算提出的解决方案GCD会自动利用更多的CPU内核(比如双核、四核)GCD会自动管理线程的生命周期(创建线程、调度任务、销毁线程)程序员只需要告诉GCD想要执行什么任务,不需要编写任何线程管理代码

2015-11-05 23:11:35 335

原创 多线程 —— NSThread

什么是进程?进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内(说白了就是一块独立的内存空间)什么是线程?1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行NSThread的使用:一个NSTh

2015-11-05 20:13:49 252

原创 iphone 与 iPad在开发中的区别以及iPad中的UIPopoverController的使用

共同点:用的都是IOS系统不同点:键盘:iPad特有的APIUIPopoverController(左图)UISplitViewController(右图)屏幕方向的支持设备支持的应用程序iPhone上只能运行iPhone程序iPad上能够运行iPhone\iPad程序~~~~~~~~~~~~~~~~~~~~~

2015-11-04 18:39:40 412

原创 UIGestureRecognizer手势识别器

通过touches方法监听view触摸事件,有很明显的几个缺点必须得自定义view由于是在view内部的touches方法中监听触摸事件,因此默认情况下,无法让其他外界对象监听view的触摸事件不容易区分用户的具体手势行为iOS3.2之后,苹果推出了手势识别功能(GestureRecognizer),在触摸事件处理方面,大大简化了开发者的开发难度UIGestur

2015-11-02 21:19:12 468

原创 触摸事件

iOS中的事件可以分为3大类型     触摸事件                        加速计事件                    远程控制事件在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”UIResponderUIResponder内部提供了以下方法来处理事件

2015-11-02 20:20:23 410

原创 Quartz2D——屏幕截图,背景平铺

虽然系统自带的有截图功能,但是为了方便用户操作我们在应用中可以设置一个一键截图功能,具体实现如下: //截取当前vie成为一张图片 // 使用位图上下文 // 1.开启位图上下文 UIGraphicsBeginImageContext(self.view.bounds.size); // 2.当前控制器的view画在位图上下文 //

2015-11-02 11:54:07 535

原创 Quartz2D——图片水印,图片剪切

图片水印实现步骤:1、创建一个背景图的UIImage对象2、创建位图上下文(绘图的输出目标) (画背景图)3、将背景图片添加到位图上下文4、创建一个水印的UIImage对象,调用其drawInRect方法,将其添加到位图上下文5、从位图上下文中获取合成的新的图片,并显示在控制器的UIImageView上6、结束位图编辑- (void)draw

2015-11-01 18:27:59 255

原创 Quartz2D——路径

我们用图形上下文绘图,没有操作路径,其实是系统默认给我们创建的有路径,使用path,则一个path就代表一条路径。如果要在上下文中绘制多个图形,这种情况下建议使用path。使用路径画圆- (void)drawRect:(CGRect)rect { // 获取上下文 CGContextRef context = UIGraphicsGetCurrentC

2015-11-01 11:14:46 255

原创 kvc机制与kvc的常用方法

kvc是key value coding的缩写,即:键值编码。键值编码提供了非常强大的功能:只要存在访问器方法、声明属性或实例变量,就可以将其名字指定为字符串来访问。// 返回表示属性的键字符串对应的值- (id)valueForKey:(NSString *)key;Person *p1 = [[Person alloc] init];[p1 setValu

2015-10-31 22:43:04 424

原创 Quartz2D——旋转、平移、缩放、剪切圆形图片

注:旋转、平移、缩放,必须放在画图之前平移:// 获取上下文 CGContextRef context = UIGraphicsGetCurrentContext(); // 画一个三角形 // 定义三个点 CGPoint point[3] = {{50, 50}, {100, 80}, {10, 80}}; CGContextAddL

2015-10-31 10:08:42 943

原创 Quartz2D:图形上下文栈

效果图:

2015-10-29 23:43:23 357

原创 Quartz2D的简单使用

Quartz2D的API是纯C语言的Quartz2D的API来自于CoreGraphics框架数据类型和函数基本都以CG作为前缀Quartz 2D是一个二维绘图引擎,同时支持iOS和Mac系统Quartz2D能完成的工作绘制图形 : 线条\三角形\矩形\圆\弧等绘制文字绘制\生成图片(图像)读取\生成PDF截图\裁剪图片自定义UI控件……

2015-10-26 21:32:49 376

原创 UITabBarController的简单使用

UITabBarController的使用步骤初始化UITabBarController设置UIWindow的rootViewController为UITabBarController根据具体情况,通过addChildViewController方法添加对应个数的子控制器UITabBarController添加控制器的方式有2种添加单个子控制器- (void)a

2015-10-26 11:26:19 275

原创 ios应用数据存储的常用方式与沙盒

ios应用数据存储的常用方式: XML属性列表(plist)归档 Preference(偏好设置) NSKeyedArchiver归档(NSCoding) SQLite3  Core Data沙盒:每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离。应用必须待在自己的沙盒里,其他应用不能访问该沙盒应用沙盒的文件系统目录,如下

2015-10-25 09:30:51 309

原创 UINavigation导航控制器的使用

"【导航控制器】"导航控制器是用来管多个子控制器,实现不同界面间的"来回切换"导航控制器显示各个子控制器显示的的原理  栈顶原理 0.导航控制器将所要显示的子控制器放到一个栈中 1.导航控制器显示的第一个控制器为栈顶控制器(此时栈里面就一个控制器) 2.返回上一个子控制器时,栈顶控制器的view从导航控制器的view中移除,并

2015-10-22 21:53:22 412

原创 控制器的创建方式

"【什么是视图控制器】"(1)视图控制器就是用来 ”控制“或者说 ”管理“界面(视图)的"换句话说界面长得丑与美由视图控制器说的算(2)每个视图控制器(UIViewController)都有一个View属性来描述界面长什么样(3)前面所讲的设置窗口的根控制器其实就是会把视图控制器的里View会添加在窗口上进行显示试图控制器的创建方式(三种

2015-10-22 20:16:00 277

原创 UIToolbar(工具栏)

UIToolbar上面的控件都是一个一个紧挨着的,不能随意拖动如果想要让按钮之间留空隙得添加弹簧:代码创建Toolbar:// 创建一个UIToolbarUIToolbar *toolbar = [[UIToolbaralloc] init];#warning 一定要设置bounds  否则UIBarButtonItem监

2015-10-21 15:49:12 573

原创 UIPickerView与UIDatePicker

UIPickerView:        UIPickerView与UITableView类似,得设置数据源与代理,只是UIPickerView的数据源是设置有几列,每列有几行UIPickerView的数据源方法:- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{//

2015-10-21 15:05:09 250

原创 自动布局autolayout与sizeclass

屏幕适配发展:1. 通过代码计算frame2. Autoresizing(设置控件与父控件的相对关系,从而实现间接设置frame,ios系统在运行时会根据设置的规则, 计算出对应的frame,无需手动计算frame)通过设置子控件与父控件的关系来决定如何显示控件3. autolayout通过设置某控件与任意其他控件间的关系来决定如何显示这个控件,不仅

2015-10-18 20:06:24 500

原创 自定义单元格,使用TableViewCell的方式

1、拖一个UITableViewController2、    // 创建单元格    static NSString *ID =@"app_cell";    CZAppCell *cell = [tableViewdequeueReusableCellWithIdentifier:ID];3、向cell里面拖控件

2015-10-18 12:58:56 264

原创 常用的结构体 及 NSValue类的使用

常用的结构体:c中的结构体/* Points. */struct CGPoint {  CGFloat x;  CGFloat y;};typedef struct CGPoint CGPoint;CGPoint CGPointMake(CGFloat x, CGFloat y); // 此函数用来创建一个结构体

2015-10-16 13:59:29 310

空空如也

空空如也

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

TA关注的人

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