iPhone应用开发实例介绍


  本文标签:iPhone 字符处理 视图 图片

  iPhone应用开发实例介绍是本文要介绍内容,主要讲解了字符处理、NavigationItem添加视图图片等内容  。不多说,先来看详细内容  。

  用NSURLConnection Post上传数据的特殊字符处理

  用NSURLConnection Post上传的时候发现一个特奇怪的问题,只要是+号都会替换成空格  。例如"google+"就会变成"google ",代码如下:

  1. NSString*bodyStr =@"google+";  
  2. [urlRequestsetHTTPBody:[bodyStr dataUsingEncoding:NSUTF8StringEncoding]];  
  3. //NSUTF8StringEncoding编码是为了防止中文上传的时候出错  。 

  查些资料发现只要这些特殊符号在转之前做一次UTF8编码就可以解决这个问题了,代码如下:

  1. NSString*bodyStr =@"google+";  
  2. NSString*bStr =CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,   
  3.                                                        (CFStringRef)bodyStr,   
  4.                                                        NULL,   
  5.                                                CFSTR(":/?#[]@!$&’()*+,;="),   
  6.                                                kCFStringEncodingUTF8);  
  7. [urlRequest setHTTPBody:[bStr dataUsingEncoding:NSUTF8StringEncoding]];  
  8. [bStr release]; 

  NavigationItem 添加标题视图的方法
 
在 iOS 应用开发中经常会用到导航器,在导航器中添加标题很简单,语法如下:

  1. self.title=@"Elimination phase Day 1"; 

  但是如果题目太长,后半部分就变成省略号了,那要实现自定义字体,代码和效果如下:

  1. UILabel *titleText = [[UILabel alloc] initWithFrame: CGRectMake(0, 0, 200, 20)];   
  2.     titleText.backgroundColor = [UIColor clearColor];   
  3.     [titleText setFont:[UIFont systemFontOfSize:15.0]];   
  4.     [titleText setText:@"Elimination phase Day 1"];   
  5.     self.navigationItem.titleView=titleText;   
  6.     [titleText release]; 

  还原iPhone应用中png图片的方法

  Apple 对 iPhone 应用程序中的 png 图片进行了特殊的处理,在 png 文件头之后加了一个非标准的 CgBI 数据段,IDAT 段图像数据也没有传统的压缩数据头和尾,并且红色和蓝色是反的,这样就无法在 Mac 或 Windows 下不能正常使用了  。

  国外开发者已经搞定了这一问题,先下载这个程序:http://acquisition.dreamhosters.com/iPhonePNG.zip,解压后将 iPhonePNG 这个二进制文件复制到 /Applications 目录  。假设你的图片在./img目录下,想转换到 ./decode 目录,在终端执行:

  1. $ find ./img -name "*.png" -exec /Applications/iPhonePNG {} \; 

  默认将转换后的图片添加后缀后放在原图片相同目录,把他批量移动出来:

  1. $ find ./img -name "*Decoded.png" -exec mv {} ./decode \; 

  小结:iPhone应用开发实例介绍的内容介绍完了,希望通过本文的学习能对你有所帮助!