- 浏览: 175017 次
- 性别:
- 来自: 济南
最新评论
-
enefry:
如果 请求头是 range bytes=100-100 怎么 ...
[JSP]断点续传多线程链接下载! JSP/Servlet 实现 -
zhw332548183:
请问楼主,为什么 图片截取完毕后,会一直显示 正在保存 ...
从android系统图库中取图片的代码 -
zhw332548183:
请问楼主,为什么 图片截取完毕后,会一直显示 正在保存 ...
从android系统图库中取图片的代码 -
lovebirdegg:
82934162 写道lovebirdegg 写道829341 ...
怎样将xmppframework应用于iphone应用程序开发 -
82934162:
lovebirdegg 写道82934162 写道请问,你现在 ...
怎样将xmppframework应用于iphone应用程序开发
1.设置tag方便使用
在cell中放入多个控件的时候使用tag很方便的区分。在其他的地方使用tag也方便编程。呵呵
2.今天试验一个关于删除的问题,也就是直接在cell中添加一个按钮,点击按钮实现删除操作,这个应该是Apple不允许的,没有设置到编辑模式,我使用的是直接reload数据源的方法,但是发现一个问题,也就是在选中该行的时候我想保存该行的行数,但是我保存不了,也不知道是为什么,难道是delegate的缘故,还是第一次点该行再次点的时候呢个值已经变了,但是我看的时候是空,郁闷。最后我是用NSMutableArray来实现的,在选中该行的时候我让NSMutableArray对象addObject该行然后在使用的时候取第一个值也就是NSMUtableArray ObjectAtIndex:0呵呵具体成果了。原理还在摸索中。
3.UITableViewCell的重用机制
UITableViewCell在加载的时候只更新内容,也就是说如果你在加载cell的时候在cell中加入button假如100个cell,你设置tag的时候是更加row加入,你想的到得tag是从0到99,但是结果不是呢样的,如果你tableview能显示10个cell呢tag应该只有10,在你向下拉的时候更改的仅仅是显示的内容。具体的重用机制还需要更深入研究。
4.NSArray初始化的时候,今天很晕,刚开始做的第一个程序我在初始化NSArray的时候居然这样搞了一下
NSArray *array = [[NSArray alloc]initWithObjects:(@"a",@"b",nil)];编译也没有错误,运行没结果,呵呵。去掉括号,没问题了。受C的影响。
5。向UINavigation添加tableView。
table = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 440)];
[table setDelegate:self];
[table setDataSource:self];
[self.view addSubview:table];
6.得到Button的title
UIButton *but = [[UIbutton alloc] init];
[but setTitle:@"title" forState:UIControlStateNormal];
[but addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
-(void)click:(id)sender
{
NSString *s = [sender titleForState:UIControlStateNormal];
}
7.对字符串的截取操作。按照“|”实现分割,去掉后面的数字只要前面部分
NSString *s = @"哈根达斯,4223|帝王蟹,3717|三文鱼,3255|提拉米苏,2733|生蚝,1860|烤鳗,1451|生鱼片,1430|龙虾色拉,1252|北极贝,1230|鲍鱼片,772|芒果冰沙,730|烤鳗鱼,706|龙虾沙拉,692|海鲜泡饭,600|冰淇淋,508|芒果汁,499|鲍片,357|佛跳墙,308|鲍鱼,295|HGDS,262 ";
NSMutableArray *array = [[s componentsSeparatedByString:@"|"]retain];
NSMutableArray *mutablearray = [[NSMutableArray alloc] init];
int i = 0;
for(i; i<[array count]; i++)
{
NSString *s1 = [array objectAtIndex:i];
NSArray *a = [s1 componentsSeparatedByString:@","];
[mutablearray addObject:[a objectAtIndex:0]];
}
for(i =0 ; i<[mutablearray count]; i++)
{
NSLog([NSString stringWithFormat:@"%@",[mutablearray objectAtIndex:i]]);
}
8.如何修改Xcode中Copyright 2009 __MyCompanyName__. All rights reserved.的名称。
以前在CC上见LV发过这个帖子,当时修改成功了,但是重装了一下系统,又挂了,显示的还是__MyCompanyName__,今天又被找到了,记下来呵呵。
defaults write com.apple.xcode PBXCustomTemplateMacroDefinitions '{ ORGANIZATIONNAME = "名字"; }'
9.将音频转换成CAF格式
在mac上使用afconvert命令可以将音频文件转换成caf文件。
afconvert -f caff -d LEI16@44100 -c 1 in.wav out.caf
-f 指定文件格式
-d 数据格式,@44100指采样率
-c 通道数
10.怎样从core graphics获取UIImage
- (void)viewDidLoad
{
[super viewDidLoad];
UIGraphicsBeginImageContext(CGSizeMake(20,20));
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextBeginPath(ctx);
CGContextAddArc(ctx, 10, 10, 10, 0, 2*M_PI, 1);
CGContextSetRGBFillColor(ctx, 1,0, 0, 1);
CGContextFillPath(ctx);
UIImage *redBall = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageView *redBallView = [[UIImageView alloc] initWithImage:redBall];
redBallView.center = CGPointMake(160,330);
[self.view addSubview:redBallView];
}
11.UIImage imageNamed和UIImage imageWithContentsOfFile的区别
UIImage imageNamed将为这个图像提供缓存,所以如果你再次需要同一图像时,图像将被从内部缓存而
不是从资源中加载。而坏消息也是iPhone将为此图像提供缓存。这样如果图片过多就好出现内存泄露的现象。
UIImage imageWithContentsOfFile将不提供缓存。
12.在使用IB添加NAvigation的时候出现白屏。
刚开始的时候我把window给删掉了,结果出来就是白屏,没有东西,什么都没有,忘记还要关联App Delegate里面的window到window了。如果使用IB创建ViewController.xib是可以完全删除的。不影响运行结果。
13.- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath可以更改cell的高度,利用indexPath row可以随意更改每一行的高度例如
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if([indexPath row] == 2)
return 80;
else {
return 100;
}
}
14.设置IPhone程序的启动画面
在XCode的项目的resource文件夹中追加名为Default.png的图片就可以了。你可以使用Organizer工具来抓取iPhone实机上图片。
Organizer是XCode中内含的一个工具,通过选择菜单XCode -> Window -> Organizer来启动。这样就会在程序加载前的呢一会黑屏中运行该画面!
15.播放caf音频文件
引入AudioToolbox.framework。导入音频文件,声明变量SystemSoundID sound1;
NSString *path1 = [[NSBundle mainBundle] pathForResource:@"sound1" ofType:@"caf"];获取音频文件路径
CFURLRef sound1URL = (CFURLRef)[NSURL fileURLWithPath:path1];将路径转换为CFURLRef
AudioServicesCreateSystemSoundID(sound1URL, &sound1);加载音频文件并与指定soundID联系起来
然后在需要播放的地方加入AudioServicesPlayAlertSound(sound1);就可以了。
16.将view设置成圆角
今天从CC上看到的,实验了一下,效果挺好的。呵呵
首先导入QuartzCore.framework,#import <QuartzCore/QuartzCore.h>
然后添加下面两行代码:
view.layer.cornerRadius = 8;//圆角
view.layer.masksToBounds = YES;//在所在的层绘制圆角
17.设置坐标和大小
CGPoint a = CGPointMake(10,20);
CGSize b = CGSizeMake(40,40);
CGRect aa = CGRectMake(10, 30, 240, 240);
18.把UIColor转换为CGColor
UIColor *redColor = [UIColor redColor];
CGColor *RedColor = redColor.CGColor;
19.CALayer就是层,这个层你随便控制他的大小,旋转,角度,坐标变化或者内容之类的信息,这些变化还可以通过动画表现出来。UIView所有你能看到的显示的内容,后面都有一个Layer。下面来自定义添加一个CALayer。
CALayer *layer = [[CALayer alloc] init];//定义一个layer
CGRect aa = CGRectMake(10, 30, 240, 240);//设置该layer的坐标和大小
layer.frame = aa;
UIColor *c = [UIColor redColor];
[layer setBackgroundColor:(c.CGColor)];//设置该layer的背景,因为layer setBackgroundColor用到的是CGColor所以要进行一次转换
[self.view.layer insertSublayer:layer atIndex:0];//在self view中添加该layer
20.在使用Xcode编写程序的时候,在类方法上面option + 双击就可以跳到Document中的相关说明下面,很方便!
21.命令行解压tgz文件:
tar xzvf filename
在cell中放入多个控件的时候使用tag很方便的区分。在其他的地方使用tag也方便编程。呵呵
2.今天试验一个关于删除的问题,也就是直接在cell中添加一个按钮,点击按钮实现删除操作,这个应该是Apple不允许的,没有设置到编辑模式,我使用的是直接reload数据源的方法,但是发现一个问题,也就是在选中该行的时候我想保存该行的行数,但是我保存不了,也不知道是为什么,难道是delegate的缘故,还是第一次点该行再次点的时候呢个值已经变了,但是我看的时候是空,郁闷。最后我是用NSMutableArray来实现的,在选中该行的时候我让NSMutableArray对象addObject该行然后在使用的时候取第一个值也就是NSMUtableArray ObjectAtIndex:0呵呵具体成果了。原理还在摸索中。
3.UITableViewCell的重用机制
UITableViewCell在加载的时候只更新内容,也就是说如果你在加载cell的时候在cell中加入button假如100个cell,你设置tag的时候是更加row加入,你想的到得tag是从0到99,但是结果不是呢样的,如果你tableview能显示10个cell呢tag应该只有10,在你向下拉的时候更改的仅仅是显示的内容。具体的重用机制还需要更深入研究。
4.NSArray初始化的时候,今天很晕,刚开始做的第一个程序我在初始化NSArray的时候居然这样搞了一下
NSArray *array = [[NSArray alloc]initWithObjects:(@"a",@"b",nil)];编译也没有错误,运行没结果,呵呵。去掉括号,没问题了。受C的影响。
5。向UINavigation添加tableView。
table = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, 320, 440)];
[table setDelegate:self];
[table setDataSource:self];
[self.view addSubview:table];
6.得到Button的title
UIButton *but = [[UIbutton alloc] init];
[but setTitle:@"title" forState:UIControlStateNormal];
[but addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
-(void)click:(id)sender
{
NSString *s = [sender titleForState:UIControlStateNormal];
}
7.对字符串的截取操作。按照“|”实现分割,去掉后面的数字只要前面部分
NSString *s = @"哈根达斯,4223|帝王蟹,3717|三文鱼,3255|提拉米苏,2733|生蚝,1860|烤鳗,1451|生鱼片,1430|龙虾色拉,1252|北极贝,1230|鲍鱼片,772|芒果冰沙,730|烤鳗鱼,706|龙虾沙拉,692|海鲜泡饭,600|冰淇淋,508|芒果汁,499|鲍片,357|佛跳墙,308|鲍鱼,295|HGDS,262 ";
NSMutableArray *array = [[s componentsSeparatedByString:@"|"]retain];
NSMutableArray *mutablearray = [[NSMutableArray alloc] init];
int i = 0;
for(i; i<[array count]; i++)
{
NSString *s1 = [array objectAtIndex:i];
NSArray *a = [s1 componentsSeparatedByString:@","];
[mutablearray addObject:[a objectAtIndex:0]];
}
for(i =0 ; i<[mutablearray count]; i++)
{
NSLog([NSString stringWithFormat:@"%@",[mutablearray objectAtIndex:i]]);
}
8.如何修改Xcode中Copyright 2009 __MyCompanyName__. All rights reserved.的名称。
以前在CC上见LV发过这个帖子,当时修改成功了,但是重装了一下系统,又挂了,显示的还是__MyCompanyName__,今天又被找到了,记下来呵呵。
defaults write com.apple.xcode PBXCustomTemplateMacroDefinitions '{ ORGANIZATIONNAME = "名字"; }'
9.将音频转换成CAF格式
在mac上使用afconvert命令可以将音频文件转换成caf文件。
afconvert -f caff -d LEI16@44100 -c 1 in.wav out.caf
-f 指定文件格式
-d 数据格式,@44100指采样率
-c 通道数
10.怎样从core graphics获取UIImage
- (void)viewDidLoad
{
[super viewDidLoad];
UIGraphicsBeginImageContext(CGSizeMake(20,20));
CGContextRef ctx = UIGraphicsGetCurrentContext();
CGContextBeginPath(ctx);
CGContextAddArc(ctx, 10, 10, 10, 0, 2*M_PI, 1);
CGContextSetRGBFillColor(ctx, 1,0, 0, 1);
CGContextFillPath(ctx);
UIImage *redBall = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageView *redBallView = [[UIImageView alloc] initWithImage:redBall];
redBallView.center = CGPointMake(160,330);
[self.view addSubview:redBallView];
}
11.UIImage imageNamed和UIImage imageWithContentsOfFile的区别
UIImage imageNamed将为这个图像提供缓存,所以如果你再次需要同一图像时,图像将被从内部缓存而
不是从资源中加载。而坏消息也是iPhone将为此图像提供缓存。这样如果图片过多就好出现内存泄露的现象。
UIImage imageWithContentsOfFile将不提供缓存。
12.在使用IB添加NAvigation的时候出现白屏。
刚开始的时候我把window给删掉了,结果出来就是白屏,没有东西,什么都没有,忘记还要关联App Delegate里面的window到window了。如果使用IB创建ViewController.xib是可以完全删除的。不影响运行结果。
13.- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath可以更改cell的高度,利用indexPath row可以随意更改每一行的高度例如
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
if([indexPath row] == 2)
return 80;
else {
return 100;
}
}
14.设置IPhone程序的启动画面
在XCode的项目的resource文件夹中追加名为Default.png的图片就可以了。你可以使用Organizer工具来抓取iPhone实机上图片。
Organizer是XCode中内含的一个工具,通过选择菜单XCode -> Window -> Organizer来启动。这样就会在程序加载前的呢一会黑屏中运行该画面!
15.播放caf音频文件
引入AudioToolbox.framework。导入音频文件,声明变量SystemSoundID sound1;
NSString *path1 = [[NSBundle mainBundle] pathForResource:@"sound1" ofType:@"caf"];获取音频文件路径
CFURLRef sound1URL = (CFURLRef)[NSURL fileURLWithPath:path1];将路径转换为CFURLRef
AudioServicesCreateSystemSoundID(sound1URL, &sound1);加载音频文件并与指定soundID联系起来
然后在需要播放的地方加入AudioServicesPlayAlertSound(sound1);就可以了。
16.将view设置成圆角
今天从CC上看到的,实验了一下,效果挺好的。呵呵
首先导入QuartzCore.framework,#import <QuartzCore/QuartzCore.h>
然后添加下面两行代码:
view.layer.cornerRadius = 8;//圆角
view.layer.masksToBounds = YES;//在所在的层绘制圆角
17.设置坐标和大小
CGPoint a = CGPointMake(10,20);
CGSize b = CGSizeMake(40,40);
CGRect aa = CGRectMake(10, 30, 240, 240);
18.把UIColor转换为CGColor
UIColor *redColor = [UIColor redColor];
CGColor *RedColor = redColor.CGColor;
19.CALayer就是层,这个层你随便控制他的大小,旋转,角度,坐标变化或者内容之类的信息,这些变化还可以通过动画表现出来。UIView所有你能看到的显示的内容,后面都有一个Layer。下面来自定义添加一个CALayer。
CALayer *layer = [[CALayer alloc] init];//定义一个layer
CGRect aa = CGRectMake(10, 30, 240, 240);//设置该layer的坐标和大小
layer.frame = aa;
UIColor *c = [UIColor redColor];
[layer setBackgroundColor:(c.CGColor)];//设置该layer的背景,因为layer setBackgroundColor用到的是CGColor所以要进行一次转换
[self.view.layer insertSublayer:layer atIndex:0];//在self view中添加该layer
20.在使用Xcode编写程序的时候,在类方法上面option + 双击就可以跳到Document中的相关说明下面,很方便!
21.命令行解压tgz文件:
tar xzvf filename
发表评论
-
Key-Value Coding. Key-Vaule Observing
2012-02-17 11:41 1308Key-value coding (KVC) 是 ... -
FMDB:我的SQLite救星
2011-08-23 17:08 1342FMDB:我的SQLite救 ... -
统计代码行数
2011-01-04 16:39 2517http://lovebirdegg.appspot. ... -
Universal Static Libraries
2010-04-16 17:02 1160For some reason Apple reserves ... -
《iPhone应用程序开发指南(基础篇)》第六章 6.2(3)
2010-04-16 15:25 1324原文地址:http://www.aisidechina.com ... -
《iPhone应用程序开发指南(基础篇)》第六章 6.2(2)
2010-04-16 15:22 1821原文地址:http://www.aisidechina.com ... -
《iPhone应用程序开发指南(基础篇)》第六章 6.1
2010-04-14 10:27 1785原文地址:http://www.aisid ... -
《iPhone应用程序开发指南(基础篇)》第六章 6.2(1)
2010-04-14 10:25 1020原文地址:http://www.aisidechina.com ... -
《iPhone应用程序开发指南(基础篇)》第三章 3.4
2010-04-12 17:16 1203原文地址:http://www.aisid ... -
《iPhone应用程序开发指南(基础篇)》第三章 3.3
2010-04-08 08:10 1442《iPhone应用程序开发 ... -
《iPhone应用程序开发指南(基础篇)》第三章 3.2
2010-04-08 08:09 1457原文地址: http://www.aisidechina. ... -
7 tips for using UIWebView
2010-03-26 14:34 2219For an IPhone app I have been b ... -
how to use TouchXML
2010-03-25 21:50 1687iphoen do not have NSXML* libra ... -
《iPhone应用程序开发指南(基础篇)》第三章 3.1
2010-03-25 12:57 1125原文地址:http://www.aisidechina.com ... -
10 个在app store中需要避免的错误(一)
2010-03-19 18:13 1589原文 #1 Creating an Overly Compl ... -
Filtering Fun with Predicate
2010-03-16 09:34 1559原文:http://lovebirdegg.co.tv/201 ... -
《iPhone应用程序开发指南》第一章 1.1(2)
2010-03-12 17:12 2977原文地址: http://www.aisidechina. ... -
《iPhone应用程序开发指南》第一章 1.1(1)
2010-03-12 17:11 2258原文地址: http://www.aisidechina. ... -
《iPhone应用程序开发指南》目录
2010-03-12 17:09 2215原文地址 http://www.ais ... -
《iPhone应用程序开发指南》介绍
2010-03-12 17:07 2844原文地址 http://www.ais ...
相关推荐
给大家推荐一下,上面有斯坦福大学iphone开发视频教程中英文字幕版1-6集,还有超过100本的iphone开发方面的电子书可下载(速度很快哦!)。 更新:如果大家在学习和工作中遇到什么问题,请给我留言,大家...
资源名称:iphone开发视频教程资源目录:【】iphone开发视频教程第1集 Mac.OS.X,Cocoa,Touch,Objective-C【】iphone开发视频教程第2集 各种基础的类,功能,对象和实例的介绍【】iphone开发视频教程第3集 如何创建你...
【iPhone开发环境搭建】 搭建iPhone开发环境是iOS应用开发的第一步,主要涉及到在特定的操作系统环境下安装必要的开发工具。由于iPhone应用只能在苹果公司的Mac OS X系统上开发,因此,你需要准备一个运行Mac OS X...
资源名称:苹果官方iPhone应用高级开发课程(16集)资源目录:【】[iPhone应用开发高级课程]01.破冰课程【】[iPhone应用开发高级课程]02.高效iPhone应用开发 1【】[iPhone应用开发高级课程]03.高效iPhone应用开发 2...
前段时间学习iphone开发下载的资料,打包一些好的分享给大家。 包括:IOS开发入门介绍.pdf、iphone开发基础.pdf、objective_C基础.pdf、xcoder开发入门指引.pdf、iphone面试题.rtf
选择哪个引擎取决于游戏的需求和开发团队的技能集。 在游戏设计阶段,需要考虑游戏玩法、关卡设计、角色设定和故事线等元素。同时,游戏的用户界面(UI)设计至关重要,它直接影响到玩家的游戏体验。良好的UI设计...
《iPhone开发iOS7版全集》是一份专为开发者准备的详细教程,旨在帮助初学者和有经验的程序员深入理解如何在iOS 7平台上构建iPhone应用程序。这份2013秋季发布的PDF文档全面覆盖了iOS 7开发的核心知识点,是自学者的...
包括了从入门到升入的教程:初学Objective-C、Cocoa基本原理指南、iOS5 ARC 完全指南、iOS图像处理、OpenGL ES学习、多线程编程指南、核心动画编程指南
Objective-C是iPhone开发的主要编程语言,它是C语言的超集,引入了面向对象的概念。理解类、对象、继承、消息传递等概念是学习Objective-C的基础。本书会详细讲解这些概念,以及如何使用Xcode IDE进行代码编写和项目...
【标题】:“Iphone开发资料整理” 这组资料主要涵盖了iPhone应用开发的基础知识,包括Cocoa框架的基本原理、Dashcode的使用指南以及Objective-C的入门教程。这些文档旨在帮助开发者理解并掌握iPhone应用开发的核心...
资源名称:盛戈移软iPhone开发内部培训PPT合集资源目录:【】第10章 iPhone应用程序的调试打包与发布【】第1章 iPhone开发与Appstore【】第2章 成为iphone开发者【】第3章 Objective-C 语法【】第4章 Cocoa Touch...
《iPhone开发基础教程》是一本专为初学者设计的指南,旨在引领读者进入iOS应用开发的世界。这本书在国内外广受欢迎,特别是在中国的市场上,它开创了Amazon销售的奇迹,被誉为iPhone开发者的入门首选。 本书深入浅...
资源名称:斯坦福大学2010年冬iPhone开发视频教程(28集)资源目录:【】斯坦福大学iPhone开发教程2010年冬-Bump【】斯坦福大学iPhone开发教程2010年冬-Designing for the iPad【】斯坦福大学iPhone开发教程2010年冬-...
《3G手机开发资料(iPhone开发)》是一份详尽的教育资源,专为那些希望深入理解和掌握3G技术以及iPhone应用程序开发的人群设计。这份资料集合了3G通信技术和Apple的iPhone SDK,提供了全面的学习路径,帮助开发者们...
综上所述,iPhone开发是一个集技术创新、用户体验设计与商业策略于一体的复杂过程,不仅需要扎实的技术功底,还要具备敏锐的市场洞察力和持续的学习态度。通过系统学习和实战演练,每个人都有机会在这个充满机遇的...
本教程“objc iPhone开发基础pdf”旨在为初学者提供一个入门的平台,了解并掌握使用Objective-C进行iPhone应用开发的基础知识。 Objective-C作为C语言的超集,继承了C语言的语法特性,并引入了Smalltalk的面向对象...
《iPhone游戏开发Cocos2D全集中文翻译版》是一份专为想要在iOS平台上进行游戏开发的开发者准备的重要资源。Cocos2D是一个广泛使用的2D游戏开发框架,尤其适用于iPhone和iPad应用的开发。这份全集包含了Cocos2D的详细...
Objective-C是早期开发iOS应用的主要语言,它是C语言的超集,引入了Smalltalk的面向对象特性。Objective-C的语法可能对初学者来说有些复杂,但其强大的类库和动态特性使得编写iOS应用变得更加便捷。书中会详细介绍...