2010年4月22日星期四

iphone 开发小技巧


1。给iPhone程序创建Splash欢迎界面

最简单的方法就是做一个全屏的欢迎页的图片,把它命名为Default.png,然后放在Xcode工程的Resource里面。 执行就可以看到你的这个默认图像在程序完全加载之前显示在屏幕上。

Default.png是一张480*320的png图片用于在程序启动时显示。启动时,系统会用这张图片作为临时背景,直到程序载入了他的窗口和用户界面。

Icon.png是一张57*57的png图片,用于在iPhone的主界面上作为程序图标代表你的程序。这张图片不需要有其他附加特效,系统会自动添加这些效果。

Icon-Setting.png是一张29*29的png图片,用于在设置程序中作为图标代表你的程序。如果你的程序有Settings.bundle,这个图标将会显示在程序名的旁边。如果你没有设置这张图片,系统会将Icon.png缩放来代替。

2。 怎样才能让程序在运行过程中不锁屏呢?

[UIApplication sharedApplication].idleTimerDisabled=YES;//not let iphone go to sleep

3。显示被view 或 control遮盖的背景内容

xx.backgroundColor=[UIColor clearColor];

4。url编码

NSString *strURL = @”http://www.google.com/search?hl=en&newwindow=1&q=如何对url编码&aq=f&oq=&aqi=”;

strURL = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; //使用utf8

strURL=[strURLstringByAddingPercentEscapesUsingEncoding: CFStringConvertEncodingToNSStringEncoding( kCFStringEncodingGB_18030_2000)] ;////使用 gb2312

5。转换网页编码gb2312 -> utf

//编码转换 gb2313 to UTF
NSData * myResponseData = [myRequest responseData];
NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding (kCFStringEncodingGB_18030_2000);
NSString * myResponseStr = [[NSString alloc] initWithData:myResponseData encoding:enc];
6。获取界面语言设置

NSUserDefaults* defs = [NSUserDefaults standardUserDefaults];
NSArray* languages = [defs objectForKey:@"AppleLanguages"];
NSString* preferredLang = [languages objectAtIndex:0];

7.对于做为数据Model的类来说,让其实现NSCoding协议是个好习惯

it’s just good habit to conform data model classes to NSCoding.

8

It’s okay to redefine properties to be more permissive than the

same property as declared in a protocol to which you’ve conformed, or as declared in

your superclass. You can always redefine a readonly or writeonly property to be

readwrite, but you have to explicitly use the readwrite keyword. Most of the time, that

keyword isn’t used because it’s the default value and unnecessary.
发表评论