学习代码
legendaryHu
这个作者很懒,什么都没留下…
展开
-
由颜色初始化UIImage对象
- (UIImage *)imageWithColor:(UIColor *)color { CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);//更改大小 UIGraphicsBeginImageContext(rect.size); CGContextRef context = UIGraphicsGet原创 2015-03-14 17:50:20 · 503 阅读 · 0 评论 -
iOS 在ARC模式下使用MRC的类
OS5.0以后就开始可以使用ARC( Automatic Reference Counting:自动引用计数 )来代替之前的MRC(Manual Reference Counting:人工引用计数)。使用ARC会减少很多代码和忘了释放对象的苦恼。但是事情都有两面性。使用了ARC之后如果你想复用以前写过的使用MRC的类, 就会出报错。这时候怎么办?方法比较简单, 只需要做下面的一个步骤就可以解决:原创 2014-09-25 23:05:33 · 501 阅读 · 0 评论 -
AFNetWorking使用
手动导入AFNetworking: 1. 将下载的AFNetworking-master.zip 文件解压后,将其中的UIKit+AFNetworking 和 AFNetworking 直接拖入到工程中 2. 在targets的build phases选项下Compile Sources下选择要使用arc编译的文件(所有从AFNetworking中导入的.m文件),双击原创 2014-09-25 23:02:26 · 481 阅读 · 0 评论 -
OC完整总结
面向过程的编程(procedure-oriented programming,POP:以事件为中心,关心完成事件的详细步骤,一步一步如何实现)面向对象的编程(Object Oriented programming,OOP,以事物为中心,也就是参与事件的参与者,设计事物的功能,而完成事件只是所有功能中的一个小功能)简单的说就像人吃饭,面向过程就是人怎么去吃饭(用筷子啊,清蒸啊,红烧啊等等),原创 2014-08-17 16:26:31 · 882 阅读 · 0 评论 -
isKindOfClass和isMemberOfClass之间的区别
我们可以使用isKindOfClass来确定一个对象是否是一个类的实例,或者是该类祖先类的实例。isMemberOfClass只能用来判断前者,不能用来判断后者。可以说:isMemberOfClass不能检测任何的类都是基于NSObject类这一事实,而isKindOfClass可以。原创 2014-08-29 10:27:19 · 354 阅读 · 0 评论 -
OC整理
今天我们学了 NSDate 方法 通过NSDate方法chau原创 2014-08-12 22:40:17 · 433 阅读 · 0 评论 -
iOS不通过手势 实现 放大 缩小视图操作
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{ if ([touches count] ==1) { return; } NSArray *touchesArr = [touches allObjects]; UITouch *fi原创 2014-08-26 21:19:23 · 432 阅读 · 0 评论 -
创建一个Fraction类(分数)实现分数的加减乘除,比较大小、约分等方法。
.h文件#import @interface Fraction : NSObject@property (nonatomic) NSInteger numerator;//分子@property (nonatomic) NSInteger denominator;//分母-(id)initWithNumerator:(NSInteger)numerator denominator:(原创 2014-08-11 22:15:30 · 1206 阅读 · 0 评论 -
ios 单例的写法
//两种方法 第二种比较好static HPF *hpf;+(HPF *)sharedHPF{ @synchronized(self){ if (!hpf) { hpf = [[HPF alloc]init]; } } return hpf;原创 2014-09-19 22:50:40 · 398 阅读 · 0 评论 -
IOS 屏幕旋转
#pragma mark - UIViewControllerRotation-(BOOL)shouldAutorotate{ //用来设置当前视图控制器是否支持旋转 return YES;}//设置屏幕旋转方向 系统默认支持三个方向的旋转 竖直 左横屏 右横屏-(NSUInteger)supportedInterfaceOrientations{// UIInte原创 2014-09-19 21:31:14 · 517 阅读 · 0 评论 -
iOS uiscrollview 自动循环滚动
自动循环滚动scrollView和 UIPageControl(自己的资源 我的是5张图片 另外设置第一张为 最后一张图片 最后一张是第一张图片 把自己的五张图片 放在这两张图之间共七张 设置scrollView 的偏移量为一张图片的偏移量 )// [NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@sele原创 2014-09-19 21:22:23 · 551 阅读 · 0 评论 -
IOS 文件读写 数据持久化
/** * 数据持久化的本质 将数据读成文件存储在本地 沙盒机制 就是系统针对每个应用程序在本地生成的文件夹 名字随机生成 对于不同的应用程序 不能访问其他应用程序沙盒的内容 起到保护作用 1)Documents: 用来存储长久保存的数据 2)xxx.app: 应用程序的包 包含应用程序加载所需的所有资源 (readOnly 只读 不可修改) 平时使用的 NSBundle就是该包 3)原创 2014-09-19 21:40:37 · 518 阅读 · 0 评论 -
初学制作计算器 m+ m- mc 等没有实现 等后期优化 因为初学 所以代码不好 见谅
//// AppDelegate.m// TheCalculator//// Created by lanouhn on 14-8-20.// Copyright (c) 2014年 airuru. All rights reserved.//#import "AppDelegate.h"#define button_color [UIColor grayColor]原创 2014-08-21 23:10:14 · 852 阅读 · 0 评论 -
UIPageView和UIScrollView的结合使用
- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor = [UIColor whiteColor];// 用户偏好设置 存储在本地 比如程序是否第一次加载// NSUserD原创 2014-09-19 21:03:46 · 454 阅读 · 0 评论 -
ios 关灯游戏
#import "RootViewController.h"#import "LightView.h"#import "LightButton.h"@interface RootViewController (){ NSInteger _lightOnNumber; //统计亮着灯泡的个数 NSInteger _passCount; //关卡的个数}@end@imp原创 2014-09-19 20:38:21 · 451 阅读 · 0 评论 -
iOS 截屏代码
// //代码截屏//// 设置要截屏图片的大小// UIGraphicsBeginImageContext(view.frame.size);//// 对那个图视图截图固定大小的图片// [view.layer renderInContext:UIGraphicsGetCurrentContext()];// //获取截图的图片对象// UI原创 2014-09-19 21:11:10 · 438 阅读 · 0 评论 -
iOS 视图控制器的生命周期
#import "HPFSecondViewController.h"@interface HPFSecondViewController ()@end@implementation HPFSecondViewController- (id)initWithNibName:(NSString *)nibNameOr原创 2014-10-06 16:17:21 · 396 阅读 · 0 评论 -
IOS XML DOM解析的两种方式
DOM解析使用Google提供的开源高效的XML解析工具 要比NSXMLParser快10倍// 使用方式 : 先导入系统动态链接库 libxml 2.2.dylib 在buildSetting中 Header Search Paths///usr/include/libxml2 添加 /usr/include/libxml2 在 Other Linker Flag原创 2014-10-27 19:51:15 · 502 阅读 · 0 评论 -
沙盒目录
//沙盒总目录 NSLog(@"%@",NSHomeDirectory()); //沙盒中tmp 的目录 NSLog(@"%@",NSTemporaryDirectory()); //沙盒中*.app的目录地址 NSLog(@"%@",[[NSBundle mainBundle] bund原创 2014-10-27 20:01:57 · 360 阅读 · 0 评论 -
CoreGraphics简单绘图
一、导入coreGraphics.framework 二、绘制图形 1、绘制矩形 ?123456789101112131415161718// 绘制矩形- (void)dr转载 2015-04-22 16:05:27 · 533 阅读 · 0 评论 -
使用XIB创建自定义的View
1.加载RowView.xib文件,创建Objects下面的所有控件: NSArray *views = [[NSBundle mainBundle] loadNibNamed:@"RowView" owner:nil options:nil]; 2.取出xib中的第一个子控件: UIView *rowView = views[0];原创 2015-04-22 16:10:50 · 447 阅读 · 0 评论 -
根据键盘调整视图高度
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil]; [[NSNotificationCenter defaultCenter] a原创 2015-04-22 16:06:46 · 409 阅读 · 0 评论 -
iOS 计算缓存文件大小 删除缓存
//通常用于删除缓存的时,计算缓存大小//单个文件的大小- (long long) fileSizeAtPath:(NSString*) filePath{ NSFileManager* manager = [NSFileManager defaultManager]; if ([manager fileExistsAtPath:filePath]){原创 2015-03-14 17:57:48 · 1325 阅读 · 0 评论 -
使collectionViewHeader和tableViewheader一样附着
Create a new Subclass of UICollectionViewFlowLayout, call it whatever you want, and make sure the H file has:#import @interface YourSubclassNameHere : UICollectionViewFlowLayout@endInside转载 2015-03-14 17:52:03 · 735 阅读 · 0 评论 -
ios 播放声音 播放震动
在ios开发中,有时候我们需要频繁播放某种提示声音,比如微博刷新提示音、QQ消息提示音等,对于这些短小且需要频繁播放的音频,最好将其加入到系统声音(system sound)里。注意:♡♥需要播放的音频文件不能超过30秒必须是IMA/ADPCM格式[in linear PCM or IMA4(IMA/ADPCM) format]必须是.caf .aif .wav文件原创 2015-03-14 18:01:12 · 650 阅读 · 0 评论 -
iOS 8的本地通知问题 不执行
用了 iOS8后许多东西都是抓耳挠腮的 ,没办法 英文水平不好 苹果给的官方文档和歪国人写的东西看不太懂 还是慢慢摸索.原因就是 ios8的通知中心发生变化 需要注册. 加上这句就行了 if ([UIApplicationinstancesRespondToSelector:@selector(registerUserNotificationSettings:)]原创 2014-12-18 12:03:47 · 471 阅读 · 0 评论 -
关于Xcode6 size class 和 auto layout 的简单理解.
作为新手 xcode5 还没有适应完 就被苹果逼着使用xcode6了 打开后就懵了 我擦 我可爱的空模板哪里去了,只有一个single对于新手而且还是只会敲代码的新手真是捉急.后来百度了某大大的解决方案 大神已经写好了怎么弄 .这里就不细说了. 但感觉苹果目的还是渐渐的让开发人员减少使用代码来创建控件和布局上,直接使用图形界面来处理,加快开发速度.于是学习一下autolayout是势在必行的.原创 2014-12-01 16:59:29 · 591 阅读 · 0 评论 -
递归求5! 阶乘 温故知新
int fun(int a){ if (a == 0) { return 1; } return a * fun(a -1);}原创 2014-10-18 21:44:09 · 472 阅读 · 0 评论 -
iOS AFNetworking 的使用
POST with AFHTTPRequestOperation URL = [NSURL URLWithString:newURLString]; NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:URL]; request.HTTPMethod = @"POS原创 2014-11-03 16:12:32 · 417 阅读 · 0 评论 -
ios开发推荐
http://onevcat.com/破船之家http://beyondvincent.com/NSHipsterhttp://nshipster.cn/Limboy 无网不剩http://limboy.me唐巧的技术博客http://blog.devtang.com/Lex iOS noteshttp://ios.lextang.com/念茜的博客原创 2014-10-15 17:11:38 · 526 阅读 · 0 评论 -
数组中的元素根据关键字筛选
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains [cd] %@", searchText];// NSLog(@"%@", searchText); NSArray *arr = [_colorDic allKeys]; NSArray *a原创 2014-10-30 09:29:09 · 1843 阅读 · 0 评论 -
将16进制的颜色转为uicolor
通过十六进制字符串 转化成十进制的整数,然后初始化一个UIColor对象- (UIColor *)colorWithHexString:(NSString *)hexString{ //分割RGB NSString *red = [hexString substringWithRange:NSMakeRange(0, 2)]; NSStri原创 2014-10-30 09:22:02 · 571 阅读 · 0 评论 -
UIPanGestureRecognizer UISlider
最近在使用UISlider控件控制音频播放进度时,遇到一个问题,即:UISlider所在的UIView上已经添加了UIPanGestureRecognizer类型手势,用来处理向右拖动整个View时取消显示,但这样一来,拖动UISlider就变成了响应手势,而无法正常使用UISlider。经过一番查找资料和尝试,问题得到解决,方法如下:给UIPanGestureRecognizer添加代理原创 2014-10-11 10:44:11 · 431 阅读 · 0 评论 -
iOS 世界时间 获得所有的时区名字和时间
//取得目前已知的所有地里名称 NSArray *timeZoneNames = [NSTimeZone knownTimeZoneNames]; //取得本地目前时间 NSDate *date = [NSDate date]; for(NSString *nam原创 2014-10-27 19:53:30 · 765 阅读 · 0 评论 -
iOS UIGestureRecognizer小结
/** * 手势识别器 1 能够为系统提供的视图对象添加触摸事件的响应方法比如(uiview uilabel uiimageview等) 2 内部封装了手势识别的过程 只需要把重心放到手势识别之后对应的操作 */- (void)viewDidLoad{ [super viewDidLoad]; // Do any additional setup after load原创 2014-09-19 20:56:37 · 564 阅读 · 0 评论 -
IOS UIEvent小结
在IOS开发中我们通常会用到手势 但UIEvent 也必不可少 相比手势 更加直接/* uievent 是由设备部或对硬件的操作 每个事件都是一个uievent 对象 ios的事件有三种 触摸事件 摇晃事件 远程控制事件 触摸事件是由用户 都屏幕触摸产生的事件 对于 UIView或者其子类可以接收到触摸事件 只是没有作出响应 如果想要作出相响应 就要实现以下方法原创 2014-09-19 20:49:44 · 746 阅读 · 0 评论 -
iOS点击空白处回收键盘
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ if ([self.delegate respondsToSelector:@selector(touchViewTouchesBegan:)]) { [self.textfield resignFirstResponder] }}za原创 2014-09-19 20:33:53 · 679 阅读 · 0 评论 -
有5名学生保存在结构体数组中,编程按学生的成绩升序排序,按学生的姓名降序排序,按年龄从低到高排序
typedef struct stu{ char name[20];//存储姓名 int age;//年龄 float score;//分 }Stu;void sortScore(Stu stu[],int n);void sortName(Stu stu[],int n);void outPut(Stu stu[]原创 2014-07-24 21:10:03 · 2451 阅读 · 0 评论 -
三个方法让你成为更好的程序员
1. 做出个东西 找个东西/项目,直接开始做。 想进入编程这一行业的人开始时总是试图先学会一门语言。这种方法是低效的。找一个项目或一个小功能软件去做,针对性的学习那些需要完成这个任务必须具备的知识技能。这种学法让你有了一个学习的环境和目标,逼迫你去具有创造力。有些最有价值的知识会来自解决那些之前没有人解决过的独特问题。这个过程是辛苦的,但要的就是你的坚持。转载 2014-07-25 08:51:41 · 369 阅读 · 0 评论 -
输入6个字符串,并对它们按从大到小的顺序排序后输出。
//输入6个字符串,并对它们按从大到小的顺序排序后输出。// char str[6][20] = {};// printf("输入6个字符串:");// for (int i = 0; i // scanf("%s",str[i]);// }// char temp[20];// for原创 2014-07-22 19:29:58 · 1994 阅读 · 0 评论