IOS
小木东先森
我的人生,按照我的梦想步伐一步一步走
展开
-
UIView 之 Animation 一边上跳 一边旋转
UIView *view = [[UIViewalloc]initWithFrame:CGRectMake(100,100, 100, 100)]; view.backgroundColor = [UIColorredColor]; [self.viewaddSubview:view]; [view.layer addA原创 2014-04-09 16:53:50 · 583 阅读 · 0 评论 -
UIBezierPath 和 CAShapeLayer 画画图
画一个头戴小圆的五边形:- (void)drawPentagon{ //(1)UIBezierPath对象 UIBezierPath *aPath = [UIBezierPathbezierPath]; //开始点 [aPath moveToPoint:CGPointMake(100.0,1.0)]; //划线点 [aPa原创 2014-07-24 17:23:04 · 781 阅读 · 0 评论 -
NSMutableAttributedString 与UILabel 常用使用
第一步:NSMutableAttributedString与NSString关联NSString *pingguString = [NSStringstringWithFormat:@"%@%@",pingguString1,pingguString2];NSMutableAttributedString *str = [[NSMutableAttributedStringallo原创 2014-07-29 14:03:20 · 733 阅读 · 0 评论 -
ASIHttpRequest 详解
ASIHTTPRequest 是一款极其强劲的 HTTP 访问开源项目。让简单的 API 完成复杂的功能,如:异步请求,队列请求,GZIP 压缩,缓存,断点续传,进度跟踪,上传文件,HTTP 认证。在新的版本中,还加入了 Objective-C 闭包 Block 的支持,让我们的代码加轻简灵活。 下面就举例说明它的 API 用法。发起一个同步请求 同步意为着线程转载 2014-09-05 16:00:02 · 445 阅读 · 0 评论 -
错误信息 NSError
一、获取系统的错误信息比如移动文件时,获取文件操作错误:NSError *error = nil; [[NSFileManagerdefaultManager]moveItemAtPath:@"/users"toPath:@"/hh"error:&error]; if (error) { NSLog(@"如果有错误信息,打印错误的本地化原创 2014-04-23 09:16:02 · 1188 阅读 · 0 评论 -
ios 绘制曲线走势图
- (void)drawLine{ //view是曲线的背景view UIView *view = [[UIView alloc]initWithFrame:CGRectMake(10, 0, 300, 300)]; view.backgroundColor = [UIColor whiteColor]; [self.view addSubview:vie原创 2014-08-22 14:47:35 · 3974 阅读 · 0 评论 -
UIBezierPath和CABasicAnimation画一条从左至右有动画的线
- (void)drawLine{ //view是曲线的背景view UIView *view = [[UIViewalloc]initWithFrame:CGRectMake(10,0, 300, 300)]; view.backgroundColor = [UIColorwhiteColor]; [self.viewaddSu原创 2014-08-22 09:47:02 · 1794 阅读 · 0 评论 -
iOS Quartz: CGPathAddArc和CGPathAddArcToPoint函数
CGPathAddArc函数是通过圆心和半径定义一个圆,然后通过两个弧度确定一个弧线。注意弧度是以当前坐标环境的X轴开始的。 需要注意的是由于iOS中的坐标体系是和Quartz坐标体系中Y轴相反的,所以iOS UIView在做Quartz绘图时,Y轴已经做了Scale为-1的转换,因此造成CGPathAddArc函数最后一个是否是顺时针的参数结果正好是相反的,也就是说如果设置最后的参原创 2014-09-19 09:55:17 · 2723 阅读 · 0 评论 -
UITableViewCell的层级
1、一个在contentView 上的imageView:imageView(UITableViewCell中的)的superView是UITableViewCellContentView。imageView的superView的superView是UITableViewCellimageView的superView的superView的superView是UITableV原创 2014-09-15 14:28:36 · 1031 阅读 · 0 评论 -
iOS 数据持久化之使用NSUserDefaults存储数据
1.用处:NSUserDefaults用来存储类似用户的配置、程序设置信息等这些的数据iOS下可以使用NSUserDefault、NSKeyedArchiver、sqlite、CoreData几种常用的方式来存储数据,其中NSUserDefaults用来存储类似用户的配置等这些的数据,后两者用户存储大批量和比较复杂的数据。NSUserDefault 基本上支持所有的原生数据类型NSSt原创 2014-09-26 15:53:31 · 941 阅读 · 0 评论 -
iOS app 程序启动原理
Info.plist:11常见设置 建立一个工程后,会在Supporting files文件夹下看到一个"工程名-Info.plist"的文件,该文件对工程做一些运行期的配置,非常重要,不能删除. 在旧版Xcode创建的工程中,这个配置文件的名字叫做"Info.plist". 项目中的其他plist文件不能带有"Info"这个字眼,不然转载 2014-09-26 16:58:01 · 744 阅读 · 0 评论 -
CABasicAnimation animationWithKeyPath 一些规定的值
CABasicAnimation animationWithKeyPath TypesWhen using the ‘CABasicAnimation’ from the QuartzCore Framework in Objective-C, you have to specify an animationWithKeyPath. This is a long string原创 2014-09-17 15:52:16 · 815 阅读 · 1 评论 -
CABasicAnimation 左右两边抖动,中间位置不变
CABasicAnimation* shake = [CABasicAnimationanimationWithKeyPath:@"transform.rotation.z"]; //设置抖动幅度 shake.fromValue = [NSNumbernumberWithFloat:-0.1]; shake.toValue原创 2014-11-11 15:01:12 · 961 阅读 · 0 评论 -
IOS 协议
一、协议在ObjC中使用@protocol定义一组方法规范,实现此协议的类必须实现对应的方法。熟悉面向对象的童鞋都知道接口本身是对象行为描述的协议规范。也就是说在ObjC中@protocol和其他语言的接口定义是类似的,只是在ObjC中interface关键字已经用于定义类了。(一)协议注意几点:1、一个协议可以扩展自另一个协议,例如有的协议是扩展自NSObject,如果需要扩展多个协原创 2015-08-14 12:09:25 · 929 阅读 · 0 评论 -
ios 修改字体
https://developer.apple.com/library/ios/samplecode/DownloadFont/Listings/DownloadFont_ViewController_m.html ,打开链接,然后下载苹果官方demo,就OK了。原创 2015-09-02 09:57:22 · 758 阅读 · 0 评论 -
Swift 引入 Object-c 代码
如果要在 Swift 引入 OC 的代码:1.创建一个 header文件工程名:Bridging-Header.h2、设置path 在target - Build Settings-Swift Compiler - Code Generation中的Object-c Bridging Header 填入此文件的路径,这个路径是基于项原创 2015-10-19 17:37:47 · 634 阅读 · 0 评论 -
常用的热门iOS第三方库
综合github上各个项目的关注度与具体使用情况,涵盖功能,UI,数据库,自动化测试,编程工具等类型,看完,还敢自称”精通iOS开发”吗?https://github.com/syedhali/EZAudio 基于核心音频,有助于进行实时,低延迟音频处理和可视化的iOS和OSX音频可视化框架。https://github.com/bang590/JSPatc原创 2015-10-29 13:25:03 · 622 阅读 · 0 评论 -
drawRect 中CGContextRef绘图的应用
CGContextRef绘制一个带框的三角形原创 2014-05-08 10:15:31 · 553 阅读 · 0 评论 -
数组排序系列 sortedArrayUsingComparator
//把盛有类似于2014-3-21 9:10:34字符串数组转化成NSDate类型数组- (NSArray *)transTimeArray:(NSArray *)mdateArray{ NSMutableArray *timeStrArray = [[[NSMutableArrayalloc]init]autorelease]; //传进来的mdata原创 2014-05-26 14:36:34 · 2870 阅读 · 0 评论 -
iOS中的round/ceil/floorf函数略解
extern float ceilf(float);extern double ceil(double);extern long double ceill(long double);extern float floorf(float);extern double floor(double);extern long double flo原创 2014-04-16 19:12:57 · 6222 阅读 · 0 评论 -
QQ分组思路
一、定义一个全局变量数组 dataArray = [[NSMutableArrayalloc]initWithCapacity:2];原创 2014-04-11 15:08:11 · 668 阅读 · 0 评论 -
NSArray去除重复元素(对象)的方法
NSArray *array = @[@"11",@"22",@"33",@"22",@"11"]; //第一种方法 NSSet *set = [NSSetsetWithArray:array]; NSLog(@"set = %@",[setallObjects]); //第二中方法原创 2014-04-30 16:01:47 · 723 阅读 · 0 评论 -
CoreData
公司用到CoreData,所以我必须要既然说到是Data,那么肯定是以数据为核心,同时封装对于数据的操作,形成一系列的辅助类。 NSManagedObject肯定是核心,这个可以看成一个一个的数据对象的实例,但封装后你很少直接访问这个类 NSManagedObjectContext是我们实际编程时打交道最多的,要访问一个数据对象,必须通过他的上下文原创 2014-05-06 18:36:28 · 460 阅读 · 0 评论 -
Blocks 的解释和使用
1.什么是Blocks?原创 2014-05-07 10:35:42 · 478 阅读 · 0 评论 -
UISearchBar 方法解析
UISearchBar.使用UISearchBar需要实现UISearchBarDelegate 中的三个方法。//取消按钮被点击的时候-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar;//搜索按钮被点击的时候-(void)searchBarSearchButtonClicked原创 2014-05-07 17:28:14 · 762 阅读 · 0 评论 -
网络请求图片 SDWebImage
SDWebImage, 这个实在是太方便了主页:https://github.com/rs/SDWebImage1.下载下来放到project里面2. 添加:MapKit.framework3. #import “UIImageView+WebCache.h”4. 使用:UIImageView *asyncImage = [[UIImageView原创 2014-05-15 18:01:29 · 496 阅读 · 0 评论 -
用终端写C程序 vi 命令
1. 在默认的"指令模式"下按 i 进入编辑模式 2. 在非指令模式下按 ESC 返回指令模式 3. 在"指令模式"下输入: :w 保存当前文件 :q 退出编辑,如果文件为保存需要用强制模式 :q! 强制退出不保存修改 :wq 组合指令, 保存并退出 4. 在"指令模式"下移动: h 左 j 下 k 上 l 右 #翻页 Shift + f(f原创 2014-04-25 09:51:24 · 614 阅读 · 0 评论 -
ASIdentifierManager
[[[ASIdentifierManagersharedManager] advertisingIdentifier]UUIDString]原创 2014-04-28 15:57:02 · 5288 阅读 · 0 评论 -
NSAssert()
开发ios程序时调试的好帮手---NSAssert()函数。而且和NSLog()函数一样简单易用,代码如下: NSAssert(x!=0,@"x must not be zero");在表达式“x!=0”不成立时,程序就会抛出异常,并显示自定义的消息"x must not be zero",并同时显示出错的文件、代码和调用函数等信息,是一个程序追踪的很好手段。假设x!=0,不翻译 2014-06-03 15:26:55 · 760 阅读 · 0 评论 -
关于 OSAtomic
iOS平台下的原子操作函数都以OSAtomic开头,使用时需要包含头文件。不同线程如果通过原子操作函数对同一变量进行操作,可以保证一个线程的操作不会影响到其他线程内对此变量的操作,因为这些操作都是原子式的。因为原子操作只能对内置类型进行操作,所以原子操作能够同步的线程只能位于同一个进程的地址空间内。bool OSAtomicCompareAndSwapPtr( void *__oldV原创 2014-06-03 16:12:50 · 4631 阅读 · 1 评论 -
Apple Swift 编程语言入门教程
Apple Swift编程语言入门教程1 简介目录2 Swift入门3 简单值4 控制流5 函数与闭包6 对象与类7 枚举与结构1 简介今天凌晨Apple刚刚发布了Swift编程语言,本文从其发布的书籍《The Swift Programming Language》中摘录和提取而成。希望对各位的iOS&OSX开发有所帮助。Swift是供iOS转载 2014-06-03 17:55:08 · 1069 阅读 · 0 评论 -
本地推送UILocalNotification
第一步:接收本地推送实现代理方法didReceiveLocalNotification- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification*)notification{//在此时设置解析notification,并展示提示视图原创 2014-05-22 10:10:48 · 559 阅读 · 0 评论 -
CTTelephonyNetworkInfo 判断当前网络的运营商 和 Core Telephony
+ (BOOL)checkChinaMobile{ BOOL ret = NO; CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfoalloc] init]; CTCarrier *carrier = [infosubscriberCellularProvider];翻译 2014-05-22 13:37:34 · 7572 阅读 · 0 评论 -
UIBackgroundTaskIdentifier bgTask; 把即将退出到后台的程序恢复
bgTask = [applicationbeginBackgroundTaskWithExpirationHandler:^{ // Clean up any unfinished task business by marking where you. // stopped or ending the task outright. [ap原创 2014-05-27 10:34:18 · 3780 阅读 · 0 评论 -
复制-粘贴功能
在OS中,可以使用剪贴板实现应用程序之中以及应用程序之间实现数据的共享。比如你可以从iPhone QQ复制一个url,然后粘贴到safari浏览器中查看这个链接的内容。 概述 在iOS中下面三个控件,自身就有复制-粘贴的功能: 1、UITextView 2、UITextField 3、U原创 2014-05-28 16:22:39 · 714 阅读 · 0 评论 -
Why Xcode 7 shows *.tbd instead of *.dylib?
报libsqlite3.0.dylib找不到 xcode升级到7.0,报libsqlite3.0.dylib找不到,但是系统库里没有这玩意,换成libsqlite3.0.tbd,又不好使Methods: Xcode 7 In Target > BuildPhases > Link Binary With Libraries > tap + butto原创 2015-11-14 15:50:59 · 1302 阅读 · 0 评论