iOS开发
wangzhen3416
爱编程,爱思想,爱自由
展开
-
欢迎使用CSDN-markdown编辑器
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl原创 2015-09-29 10:53:04 · 289 阅读 · 0 评论 -
触摸事件
注:此范例是通过触摸事件移动view上的label//触摸开始 - (void)touchesBegan:(NSSet )touches withEvent:(UIEvent )event { [super touchesBegan:touches withEvent:event]; /* timestamp 时间戳 phase 触摸状态原创 2015-09-30 20:05:23 · 389 阅读 · 0 评论 -
UITextField
//设置边框模式 tf.borderStyle = UITextBorderStyleRoundedRect; //设置最小字体 tf.minimumFontSize = 15; //设置默认文本 tf.text = @”username”; //编辑时自动清空 tf.clearsOnBeginEditing = YES; //设置删除按钮显示模式 tf.clear原创 2015-10-05 16:47:07 · 309 阅读 · 0 评论 -
UIScrollView
//设置代理 _scrollView.delegate = self;UIScrollView基本属性测试##- (void)testBaseAttributes{ //设置能否滚动,默认为YES //_scrollView.scrollEnabled = NO; //设置边界回弹效果 //_scrollView.bounces = NO; /*滚动指示条风原创 2015-10-08 20:50:25 · 289 阅读 · 0 评论 -
自定义UITabBardUIButtton上面的UIImageView和UILabel的布局
例:微信下面标记栏 //为了便于修改位置,需要设置button上内容的对齐方式为 //水平方向左对齐,垂直方向上对齐 button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft; button.contentVerticalAlignment = UIC原创 2015-09-29 20:50:42 · 425 阅读 · 0 评论 -
接口
api store 人物知识库、 文本相似度检测接口 微信精选 宅言API 足球比赛数据 网址缩短 移动端资讯 天狗药品查询天狗病状信息天狗疾病信息 天狗健康问答 天狗健康图书 用药参考 天狗健康食品(查询) 新闻生活健康1 天狗健康资讯 2 天狗健康知识 3 天狗健康菜谱原创 2015-11-03 23:07:29 · 266 阅读 · 0 评论 -
多线程
一、多线程每一个iOS应用程序中都有一个主线程用来更新UI界面、处理用户的触摸事件、解析网络下载的数据,因此不能把一些太耗时的操作(比如网络下载数据)放在主线程中执行,不然会造成主线程堵塞(出现界面卡死,防止界面假死),带来极坏的用户体验。 iOS的解决方案就是将那些耗时的操作放到另外一个线程中去执行,多线程异步编程是防止主线程堵塞,增加运行效率的最佳方法异步:多个线程 同时执行 同步:线程排原创 2015-11-03 15:53:42 · 317 阅读 · 0 评论 -
UITabBarController
//设置tabBar的颜色 tbc.tabBar.barTintColor = [UIColor whiteColor]; //设置选中时的颜色 tbc.tabBar.tintColor = [UIColor greenColor];“` //设置代理 tbc.delegate = self;//读取以保存在沙盘里的选中下标 tbc.selectedIndex = [[N原创 2015-10-04 10:42:17 · 310 阅读 · 0 评论 -
plist
1.读取plist文件 define PATH @”/Users/wangjingsai/Desktop/image_海贼王.plist”// NSArray *array = [NSArray arrayWithContentsOfFile:PATH];转化为URLNSURL *fileUrl = [NSURL fileURLWithPath:PATH];NSArray *array = [NS原创 2015-11-05 19:43:54 · 315 阅读 · 0 评论 -
json
什么是json? JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。采用完全独立于语言的文本格式,易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。JSON 数据的书写格式是:名称/值对JSON 值可以是: 数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true 或 false)原创 2015-11-05 19:40:07 · 233 阅读 · 0 评论 -
地图和定位
// 显示自己的位置 _mapView.showsUserLocation = YES; // 经纬度需要通过地图取得当前位置坐标 CLLocation *myselfLocation = _mapView.userLocation.location;原创 2015-11-04 18:26:51 · 397 阅读 · 0 评论 -
NSRunLoop详解
NSRunLoop详解 1.NSRunLoop是IOS消息机制的处理模式 NSRunLoop的主要作用:控制NSRunLoop里面线程的执行和休眠,在有事情做的时候使当前NSRunLoop控制的线程工作,没有事情做让当前NSRunLoop的控制的线程休眠。 2.NSRunLoop 就是一直在循环检测,从线程start到线程end,检测inputsource(如点击,双击等操作)同步事件,检测t原创 2015-11-04 20:31:35 · 288 阅读 · 0 评论 -
paros抓包
1.安装jdkMac版 2.安装(拷贝)Paros 3.终端ifconfig查看ip 4.打开Paros Tools->Options->Local proxy 设置代理和端口号 ip地址与电脑ip相同,端口号>1024 5.手机连上wifi网络,设置网络代理为手动,ip地址和端口号与步骤4相同,可以使用了原创 2015-10-20 19:09:26 · 322 阅读 · 0 评论 -
Xcode快捷键
快捷:Command + 0 隐藏和显示左侧显示视图 编译 Command + b(build) Product -> build 运行 Command + r(run) Product -> run 搜索 Command + f 打开右侧面板 command + option/alt + 0Command + 点击鼠标进入内部代码 option/alt + 点击鼠标左键 进入显示原创 2015-11-05 16:37:42 · 234 阅读 · 0 评论 -
NSString
//1. c string -> oc stringNSString *str = [NSString stringWithUTF8String:"Hello kityy"];// c string -> oc stringstr = [NSString stringWithCString:"XXX" encoding:NSUTF8StringEncoding];// oc string -> c原创 2015-11-05 17:10:56 · 304 阅读 · 0 评论 -
本地化和国际化
国际化:支持多语言在英语语言环境设置显示 相应的英文 在汉语环境下设置 显示相应的中文1.添加语言 项目->PROJECT->Info->Localizations 点击+添加语言2.应用名称国际化 xcode6 里面 没有InfoPlist.strings了 那么需要我们自己创建一个 InfoPlist.strings有了之后 系统会自动加载New File->Resource->St原创 2015-11-05 10:49:29 · 281 阅读 · 0 评论 -
应用图标&启动动画
1.应用图标 Images.xcassets->AppIcon 拖入相应像素图标 2.启动动画 2.1 TARGETS->General->App Icons and Launch Images 添加启动源 2.2 Images.xcassets->LaunchImage 拖入相应像素启动动画图片 2.3 Info.plist 删除Launch screen interface fil原创 2015-11-05 15:17:59 · 374 阅读 · 0 评论 -
NSDictionary
1.增加 如果原来有score这样一个键,值就被更新了 如果没有键score, 这个键值就会被添加到这个可变字典中[mDict setObject:@100 forKey:@"score"]; // score -> 1002.移除// 移除一个键值对(关联)[mDict removeObjectForKey:@"nai_ming"];[mDict removeObjectsForKeys原创 2015-11-05 17:54:56 · 243 阅读 · 0 评论 -
内存管理
ARC Automatic Reference Count 自动引用计数 MRC Manual Reference Count 手动管理内存堆空间 : 1.忘记释放 —> 内存泄露 2.提前/过早释放 —> 内存崩溃 3.多释放 —> 崩溃 C野指针 要遵守OC内存管理原则/法则 —-》黄金法则 //alloc/new原创 2015-11-05 19:22:08 · 210 阅读 · 0 评论 -
API Store使用步骤
API Store是百度开放的api接口,供程序开发人员调用: 网址:http://apistore.baidu.com/ 图片如下: 示例代码如下:-(void)getFromApiStore{ NSString *path = @"http://apis.baidu.com/apistore/mobilephoneservice/mobilephone"; AFH原创 2015-10-20 12:02:55 · 12757 阅读 · 1 评论 -
NSArray
1.替换 // 把range标识的数组中范围内的对象用另一个数组中所有的对象去替换[mArray replaceObjectsInRange:NSMakeRange(2, 1) withObjectsFromArray:@[@"Noodle", @"Banana"]];在数组中存储的是对象(对象的地址)2.交换可变数组中对象位置(交换指向)[mArray exchangeObjectAtIndex原创 2015-11-05 17:37:51 · 230 阅读 · 0 评论 -
ios自带同步/异步请求数据
同步请求数据同步请求会停止阻塞主线程,等待请求的服务器返回数据,处理后才会接着执行下面的程序同步请求示例代码如下:- (void)synsRequestWithConnection{ //URL 地址 NSString *path = [NSString stringWithFormat: @"http://10.0.8.8/sns/my/user_list.php?page=%d原创 2015-10-19 11:39:07 · 957 阅读 · 0 评论 -
代理和协议
1 . 协议的应用与功能 a.应用 1.(主要功能)规范接口(协议规范接口是强制的)2. 实现委托代理机制(实现对象之间的通信) 代理设计模式(iOS中常见) 规范代理的行为-》传值b.功能 ▪ 协议就是为了满足统一的数据传输 ▪ 一个类只能继承一个直接的父类,但可以通过实现多个接口(遵守多个协议),间接的实现了多继承.2 . 协议范例 #原创 2015-11-06 22:05:11 · 281 阅读 · 0 评论 -
KVC/KVO
KVC传值/获取值kvc用于多层对象之间的赋值传值。 1.key 示例: KVCViewController 逻辑处理对象 @property (nonatomic) Student *student;Student 对象: Student.h文件{ NSString *_zhuangBei;}@property (nonatomic,copy) NSString *name;原创 2015-10-20 16:00:43 · 339 阅读 · 0 评论 -
JSONModel
说明JSONModel是一个映射json数据和model的第三方工具,网络请求数据之后有jsonModel来映射数据。import <JSONModel/JSONModel.h>变量名不同处理使用jsonmodel需要继承JSONModel类,由于model中的变量名称可能与json中的数据类型不同,所以需要在model中重写keyMapper方法,代码如下:+ (JSONKeyMapper *)k原创 2015-10-21 19:16:27 · 453 阅读 · 0 评论 -
切割图片
// 把image中的rect区域拿出来作为一个新的图片-(UIImage *)clipImage:(UIImage *)image withRect:(CGRect)rect{ CGImageRef imageRef = CGImageCreateWithImageInRect(image.CGImage, rect); return [UIImage imageWithCGIm原创 2015-10-04 21:21:49 · 430 阅读 · 0 评论 -
照相/图片库
UIImagePickerController是控制原创 2015-10-23 10:45:53 · 413 阅读 · 0 评论 -
Block
dd原创 2015-11-05 20:58:45 · 252 阅读 · 0 评论 -
UICollectionView
UICollectionView基本属性 UIViewController需要继承UICollectionViewDataSource,UICollectionViewDelegateFlowLayout两个代理 //创建UICollectionView- (void)createCollectionView{ CGRect frame = CGRectMake(0, 20, self原创 2015-10-14 19:42:59 · 337 阅读 · 0 评论 -
cocoapods安装
cocoapods安装//移除安装源,因为官方安装源可能被屏gem sources --remove https://rubygems.org///添加新的安装源gem sources -a http://ruby.taobao.org///查看安装源gem sources//安装cocoapods -v 0.35 版本信息 –verbose 打印安装信息sudo gem install coco原创 2015-10-19 11:30:26 · 479 阅读 · 1 评论 -
录音/播放音频
需要导入系统库文件import <AVFoundation/AVFoundation.h>//定义录音类@property (nonatomic,strong) AVAudioRecorder *recoder;//定义播放类@property (nonatomic,strong) AVAudioPlayer *player;录音点击UINavigation右侧的录音按钮进行录音,点击停止则停原创 2015-10-23 12:02:06 · 464 阅读 · 0 评论 -
FMDB
//参数是一个block-(void)executeSQL:(void (^)(FMDatabase *db))block{ NSString *path = [NSString stringWithFormat:@"%@/Documents/db.sqlite",NSHomeDirectory()]; FMDatabase *db = [[FMDatabase alloc] in原创 2015-10-24 15:34:56 · 215 阅读 · 0 评论 -
视频
MPMoviePlayerViewController类是系统自带的一个是视频播放控制器类,负责本地视频和网络视频的解析。 重点内容 导入MediaPlayer.framework库文件import <MediaPlayer/MediaPlayer.h>//本地播放器对象@property (nonatomic) MPMoviePlayerViewController *localMP;//网络原创 2015-10-23 19:46:33 · 246 阅读 · 0 评论 -
UI常用控件
UISwitch//可以通过形变属性修改大小 sw.transform = CGAffineTransformMakeScale(2, 2); //设置边框颜色 sw.tintColor = [UIColor yellowColor]; //设置打开时的颜色 sw.onTintColor = [UIColor blueColor]; //设置小白球的颜色 s原创 2015-10-05 18:38:25 · 352 阅读 · 0 评论 -
MAC下搭建SVN服务器
from : http://blog.csdn.net/q199109106q/article/details/8655204在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简单的配置。 我们首先来看下,如何在Mac环境下搭建svn服务器端原创 2015-11-09 16:47:58 · 434 阅读 · 0 评论 -
模态视图
取得当前视图的模态视图self.presentedViewController原创 2015-10-24 22:40:44 · 307 阅读 · 0 评论 -
成员变量、属性、合成方法
1.属性 @property (nonatomic) int xxxx; - (void)setXxxx:(int)xxxx; - (int)xxxx; 自动声明setter和getter方法@synthesize xxxx = _xxxx; 自动实现setter和getter方法assign 直接赋值 readonly 只生成getter方法 不会产生setter原创 2015-11-05 18:30:27 · 268 阅读 · 0 评论 -
正则表达式
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。常用正则表达式邮箱正则表达式: ^[a-z0-9]+([._\-][a-z0-9])@([a-原创 2015-11-11 17:13:50 · 379 阅读 · 0 评论 -
手势操作
视图的形变 tgr.view.transform = CGAffineTransformIdentity;//形变清零1.点击手势UITapGestureRecognizer //设置点击次数,默认为1 tgr.numberOfTapsRequired = 2; //设置触摸点数,默认为1 //tgr.numberOfTouchesRequired = 2;2.长按原创 2015-09-30 21:49:33 · 340 阅读 · 0 评论 -
setting bundle的配置
setting bundle在系统设置页面显示自己应用的一些设置。在iOS开发中很多时候开发者需要让用户自行设置一些系统的配置项目,比如让用户设置是否支持在3G模式下加载数据,或者是让用户自己设置支不支持网络数据缓存的功能。另外在企业级应用开发中经常有需要对后台的访问地址进行调整那么需要用户自行的进行配置。settings.bundle文件新建项目->Add File->Resources->Set原创 2015-11-12 13:56:27 · 369 阅读 · 0 评论