html5中文学习网

您的位置: 首页 > ios » 正文

iOS开发中最有用关键的代码整合_IOS开发

[ ] 已经帮助:人解决问题

    1.判断邮箱格式是否正确的代码:WJEHTML5中文学习网 - HTML5先行者学习网

  // 利用正则表达式验证 -( BOOL )isValidateEmail:( NSString *)emailWJEHTML5中文学习网 - HTML5先行者学习网

  {WJEHTML5中文学习网 - HTML5先行者学习网

  NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+/.[A-Za-z]{2,4}" ;WJEHTML5中文学习网 - HTML5先行者学习网

  NSPredicate *emailTest = [ NSPredicate predicateWithFormat : @"SELF MATCHES%@" ,emailRegex];WJEHTML5中文学习网 - HTML5先行者学习网

  return [emailTest evaluateWithObject :email];WJEHTML5中文学习网 - HTML5先行者学习网

  }WJEHTML5中文学习网 - HTML5先行者学习网

   2.图片压缩WJEHTML5中文学习网 - HTML5先行者学习网

  用法: UIImage *yourImage= [self imageWithImageSimple:image scaledToSize:CGSizeMake(210.0, 210.0)]; // 压缩图片 - ( UIImage *)imageWithImageSimple:( UIImage *)image scaledToSize:( CGSize )newSizeWJEHTML5中文学习网 - HTML5先行者学习网

  {WJEHTML5中文学习网 - HTML5先行者学习网

  // Create a graphics image context UIGraphicsBeginImageContext (newSize);WJEHTML5中文学习网 - HTML5先行者学习网

  // Tell the old image to draw in this newcontext, with the desired // new size [image drawInRect : CGRectMake ( 0 , 0 ,newSize. width ,newSize. height )];WJEHTML5中文学习网 - HTML5先行者学习网

  // Get the new image from the context UIImage * newImage = UIGraphicsGetImageFromCurrentImageContext ();WJEHTML5中文学习网 - HTML5先行者学习网

  // End the context UIGraphicsEndImageContext ();WJEHTML5中文学习网 - HTML5先行者学习网

  // Return the new image. return newImage;WJEHTML5中文学习网 - HTML5先行者学习网

  }WJEHTML5中文学习网 - HTML5先行者学习网

   3.亲测可用的图片上传代码WJEHTML5中文学习网 - HTML5先行者学习网

  - ( IBAction )uploadButton:( id )sender {WJEHTML5中文学习网 - HTML5先行者学习网

  UIImage *image = [ UIImage imageNamed : @"1.jpg" ]; // 图片名 NSData *imageData = UIImageJPEGRepresentation (image, 0.5 );// 压缩比例 NSLog ( @" 字节数 :%i" ,[imageData length]);WJEHTML5中文学习网 - HTML5先行者学习网

  // post url NSString *urlString = @"http://192.168.1.113:8090/text/UploadServlet" ;WJEHTML5中文学习网 - HTML5先行者学习网

  // 服务器地址 // setting up the request object now NSMutableURLRequest *request = [[ NSMutableURLRequest alloc ] init ] ;WJEHTML5中文学习网 - HTML5先行者学习网

  [request setURL :[ NSURL URLWithString :urlString]];WJEHTML5中文学习网 - HTML5先行者学习网

  [request setHTTPMethod : @"POST" ];WJEHTML5中文学习网 - HTML5先行者学习网

  // NSString *boundary = [ NSString stringWithString : @"---------------------------14737809831466499882746641449" ];WJEHTML5中文学习网 - HTML5先行者学习网

  NSString *contentType = [ NSString stringWithFormat : @"multipart/form-data;boundary=%@" ,boundary];WJEHTML5中文学习网 - HTML5先行者学习网

  [request addValue :contentType forHTTPHeaderField : @"Content-Type" ];WJEHTML5中文学习网 - HTML5先行者学习网

  // NSMutableData *body = [ NSMutableData data ];WJEHTML5中文学习网 - HTML5先行者学习网

  [body appendData :[[ NSString stringWithFormat : @"rn--%@rn" ,boundary] dataUsingEncoding : NSUTF8StringEncoding ]];WJEHTML5中文学习网 - HTML5先行者学习网

  [body appendData :[[ NSString stringWithString : @"Content-Disposition:form-data; name="userfile"; filename="2.png"rn" ] dataUsingEncoding : NSUTF8StringEncoding ]]; // 上传上去的图片名字 [body appendData :[[ NSString stringWithString : @"Content-Type: application/octet-streamrnrn" ] dataUsingEncoding : NSUTF8StringEncoding ]];WJEHTML5中文学习网 - HTML5先行者学习网

  [body appendData :[ NSData dataWithData :imageData]];WJEHTML5中文学习网 - HTML5先行者学习网

  [body appendData :[[ NSString stringWithFormat : @"rn--%@--rn" ,boundary] dataUsingEncoding : NSUTF8StringEncoding ]];WJEHTML5中文学习网 - HTML5先行者学习网

  [request setHTTPBody :body];WJEHTML5中文学习网 - HTML5先行者学习网

  // NSLog(@"1-body:%@",body); NSLog ( @"2-request:%@" ,request);WJEHTML5中文学习网 - HTML5先行者学习网

  NSData *returnData = [ NSURLConnection sendSynchronousRequest :request returningResponse : nil error : nil ];WJEHTML5中文学习网 - HTML5先行者学习网

  NSString *returnString = [[ NSString alloc ] initWithData :returnData encoding : NSUTF8StringEncoding ];WJEHTML5中文学习网 - HTML5先行者学习网

  NSLog ( @"3- 测试输出: %@" ,returnString );WJEHTML5中文学习网 - HTML5先行者学习网

  4.给imageView加载图片WJEHTML5中文学习网 - HTML5先行者学习网

  UIImage *myImage = [ UIImage imageNamed : @"1.jpg" ];WJEHTML5中文学习网 - HTML5先行者学习网

  [ imageView setImage :myImage];WJEHTML5中文学习网 - HTML5先行者学习网

  [ self . view addSubview : imageView ];WJEHTML5中文学习网 - HTML5先行者学习网

  5.对图库的操作WJEHTML5中文学习网 - HTML5先行者学习网

  选择相册: UIImagePickerControllerSourceTypesourceType=UIImagePickerControllerSourceTypeCamera;WJEHTML5中文学习网 - HTML5先行者学习网

  if (![UIImagePickerControllerisSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {WJEHTML5中文学习网 - HTML5先行者学习网

  sourceType=UIImagePickerControllerSourceTypePhotoLibrary;WJEHTML5中文学习网 - HTML5先行者学习网

  }WJEHTML5中文学习网 - HTML5先行者学习网

  UIImagePickerController * picker = [[UIImagePickerControlleralloc]init];WJEHTML5中文学习网 - HTML5先行者学习网

  picker.delegate = self;WJEHTML5中文学习网 - HTML5先行者学习网

  picker.allowsEditing=YES;WJEHTML5中文学习网 - HTML5先行者学习网

  picker.sourceType=sourceType;WJEHTML5中文学习网 - HTML5先行者学习网

  [self presentModalViewController:picker animated:YES];WJEHTML5中文学习网 - HTML5先行者学习网

  选择完毕: -(void)imagePickerController:(UIImagePickerController*)pickerdidFinishPickingMediaWithInfo:(NSDictionary *)infoWJEHTML5中文学习网 - HTML5先行者学习网

  {WJEHTML5中文学习网 - HTML5先行者学习网

  [picker dismissModalViewControllerAnimated:YES];WJEHTML5中文学习网 - HTML5先行者学习网

  UIImage * image=[info objectForKey:UIImagePickerControllerEditedImage];WJEHTML5中文学习网 - HTML5先行者学习网

  [self performSelector:@selector(selectPic:) withObject:imageafterDelay:0.1];WJEHTML5中文学习网 - HTML5先行者学习网

  }WJEHTML5中文学习网 - HTML5先行者学习网

  -(void)selectPic:(UIImage*)imageWJEHTML5中文学习网 - HTML5先行者学习网

  {WJEHTML5中文学习网 - HTML5先行者学习网

  NSLog(@"image%@",image);WJEHTML5中文学习网 - HTML5先行者学习网

  imageView = [[UIImageView alloc] initWithImage:image];WJEHTML5中文学习网 - HTML5先行者学习网

  imageView.frame = CGRectMake(0, 0, image.size.width, image.size.height);WJEHTML5中文学习网 - HTML5先行者学习网

  [self.viewaddSubview:imageView];WJEHTML5中文学习网 - HTML5先行者学习网

  [self performSelectorInBackground:@selector(detect:) withObject:nil];WJEHTML5中文学习网 - HTML5先行者学习网

  }WJEHTML5中文学习网 - HTML5先行者学习网

  detect 为自己定义的方法,编辑选取照片后要实现的效果 取消选择: -(void)imagePickerControllerDIdCancel:(UIImagePickerController*)pickerWJEHTML5中文学习网 - HTML5先行者学习网

  {WJEHTML5中文学习网 - HTML5先行者学习网

  [picker dismissModalViewControllerAnimated:YES];WJEHTML5中文学习网 - HTML5先行者学习网

  }WJEHTML5中文学习网 - HTML5先行者学习网

  6.跳到下个ViewWJEHTML5中文学习网 - HTML5先行者学习网

  nextWebView = [[ WEBViewController alloc ] initWithNibName : @"WEBViewController" bundle : nil ];WJEHTML5中文学习网 - HTML5先行者学习网

  [ self presentModalViewController : nextWebView animated : YES ];WJEHTML5中文学习网 - HTML5先行者学习网

  7.创建一个UIBarButton右边按钮WJEHTML5中文学习网 - HTML5先行者学习网

  UIBarButtonItem *rightButton = [[ UIBarButtonItem alloc ] initWithTitle : @" 右边 " style : UIBarButtonItemStyleDone target : self action : @selector (clickRightButton)];WJEHTML5中文学习网 - HTML5先行者学习网

  [ self . navigationItem setRightBarButtonItem :rightButton];WJEHTML5中文学习网 - HTML5先行者学习网

   8.设置navigationBar隐藏WJEHTML5中文学习网 - HTML5先行者学习网

  self . navigationController . navigationBarHidden = YES ;//WJEHTML5中文学习网 - HTML5先行者学习网

  9.UIlabel多行文字自动换行 (自动折行)WJEHTML5中文学习网 - HTML5先行者学习网

  UIView *footerView = [[UIView alloc]initWithFrame:CGRectMake(10, 100, 300, 180)]; UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(10, 100, 300, 150)]; label.text = @"Hello world! Hello world!Hello world! Hello world! Hello world! Hello world! Hello world! Hello world!Hello world! Hello world! Hello world! Hello world! Hello world! Helloworld!"; // 背景颜色为红色 label.backgroundColor = [UIColor redColor]; // 设置字体颜色为白色 label.textColor = [UIColor whiteColor]; // 文字居中显示 label.textAlignment = UITextAlignmentCenter; // 自动折行设置 label.lineBreakMode = UILineBreakModeWordWrap; label.numberOfLines = 0;WJEHTML5中文学习网 - HTML5先行者学习网

   10.代码生成ButtonWJEHTML5中文学习网 - HTML5先行者学习网

  CGRect frame = CGRectMake ( 0 , 400 , 72.0 , 37.0 );WJEHTML5中文学习网 - HTML5先行者学习网

  UIButton *button = [ UIButton buttonWithType : UIButtonTypeRoundedRect ];WJEHTML5中文学习网 - HTML5先行者学习网

  button. frame = frame;WJEHTML5中文学习网 - HTML5先行者学习网

  [button setTitle : @" 新添加的按钮 " forState: UIControlStateNormal ];WJEHTML5中文学习网 - HTML5先行者学习网

  button. backgroundColor = [ UIColor clearColor ];WJEHTML5中文学习网 - HTML5先行者学习网

  button. tag = 2000 ;WJEHTML5中文学习网 - HTML5先行者学习网

  [button addTarget : self action : @selector (buttonClicked:) forControlEvents : UIControlEventTouchUpInside ];WJEHTML5中文学习网 - HTML5先行者学习网

  [ self . view addSubview :button];WJEHTML5中文学习网 - HTML5先行者学习网

  10.2在xib文件中已经创建好Button,通过tag获取按钮WJEHTML5中文学习网 - HTML5先行者学习网

  UIButton *testButton= (UIButton*)[self.view viewWithTag:100];WJEHTML5中文学习网 - HTML5先行者学习网

  [testButton addTarget:self action:@selector(test:) forControlEvents:UIControlEventTouchUpInside];WJEHTML5中文学习网 - HTML5先行者学习网

  //按钮事件WJEHTML5中文学习网 - HTML5先行者学习网

  -(void) test: (id) sender{WJEHTML5中文学习网 - HTML5先行者学习网

  UIAlertView *av = [[[UIAlertView alloc] initWithTitle:@"ceshi" message:@"test11111" delegate:nil cancelButtonTitle:@"OK"otherButtonTitles:nil] autorelease];WJEHTML5中文学习网 - HTML5先行者学习网

  [av show];WJEHTML5中文学习网 - HTML5先行者学习网

  }WJEHTML5中文学习网 - HTML5先行者学习网

  11.让某个控件在View的中心位置显示:WJEHTML5中文学习网 - HTML5先行者学习网

  (某个控件,比如 label , View ) label . center = self . view . center;WJEHTML5中文学习网 - HTML5先行者学习网

  12.自定义text各种效果:WJEHTML5中文学习网 - HTML5先行者学习网

  cell.backgroundColor = [UIColorscrollViewTexturedBackgroundColor];WJEHTML5中文学习网 - HTML5先行者学习网

  // 设置文字的字体WJEHTML5中文学习网 - HTML5先行者学习网

  cell.textLabel.font = [UIFont fontWithName:@"AmericanTypewriter" size:100.0f];WJEHTML5中文学习网 - HTML5先行者学习网

  // 设置文字的颜色WJEHTML5中文学习网 - HTML5先行者学习网

  cell.textLabel.textColor = [UIColor orangeColor];WJEHTML5中文学习网 - HTML5先行者学习网

  // 设置文字的背景颜色WJEHTML5中文学习网 - HTML5先行者学习网

  cell.textLabel.shadowColor = [UIColor whiteColor];WJEHTML5中文学习网 - HTML5先行者学习网

  // 设置文字的显示位置WJEHTML5中文学习网 - HTML5先行者学习网

  cell.textLabel.textAlignment = UITextAlignmentCenter;WJEHTML5中文学习网 - HTML5先行者学习网

  13.隐藏statusBar:WJEHTML5中文学习网 - HTML5先行者学习网

  在程序的 viewDidLoad 中加入WJEHTML5中文学习网 - HTML5先行者学习网

  [[UIApplication sharedApplication]setStatusBarHidden:YES animated:NO];WJEHTML5中文学习网 - HTML5先行者学习网

  14.更改AlertView背景:WJEHTML5中文学习网 - HTML5先行者学习网

  UIAlertView *theAlert = [[[UIAlertViewalloc] initWithTitle:@"Atention"WJEHTML5中文学习网 - HTML5先行者学习网

  message: @"I'm a Chinese!"WJEHTML5中文学习网 - HTML5先行者学习网

  delegate:nilWJEHTML5中文学习网 - HTML5先行者学习网

  cancelButtonTitle:@"Cancel"WJEHTML5中文学习网 - HTML5先行者学习网

  otherButtonTitles:@"Okay",nil] autorelease];WJEHTML5中文学习网 - HTML5先行者学习网

  [theAlert show];WJEHTML5中文学习网 - HTML5先行者学习网

  UIImage *theImage = [UIImageimageNamed:@"loveChina.png"];WJEHTML5中文学习网 - HTML5先行者学习网

  theImage = [theImage stretchableImageWithLeftCapWidth:0topCapHeight:0];WJEHTML5中文学习网 - HTML5先行者学习网

  CGSize theSize = [theAlert frame].size;WJEHTML5中文学习网 - HTML5先行者学习网

  UIGraphicsBeginImageContext(theSize);WJEHTML5中文学习网 - HTML5先行者学习网

  [theImage drawInRect:CGRectMake(5, 5, theSize.width-10, theSize.height-20)];// 这个地方的大小要自己调整,以适应 alertview 的背景颜色的大小。WJEHTML5中文学习网 - HTML5先行者学习网

  theImage = UIGraphicsGetImageFromCurrentImageContext();WJEHTML5中文学习网 - HTML5先行者学习网

  UIGraphicsEndImageContext();WJEHTML5中文学习网 - HTML5先行者学习网

  theAlert.layer.contents = (id)[theImage CGImage];WJEHTML5中文学习网 - HTML5先行者学习网

  15.键盘透明:WJEHTML5中文学习网 - HTML5先行者学习网

  textField.keyboardAppearance = UIKeyboardAppearanceAlert;WJEHTML5中文学习网 - HTML5先行者学习网

  16.状态栏的网络活动风火轮是否旋转:WJEHTML5中文学习网 - HTML5先行者学习网

  [UIApplication sharedApplication].networkActivityIndicatorVisible , 默认值是 NO 。WJEHTML5中文学习网 - HTML5先行者学习网

  17.截取屏幕图片:WJEHTML5中文学习网 - HTML5先行者学习网

  // 创建一个基于位 图的图形上下文并指定大小为CGSizeMake(200,400)WJEHTML5中文学习网 - HTML5先行者学习网

  UIGraphicsBeginImageContext(CGSizeMake(200,400));WJEHTML5中文学习网 - HTML5先行者学习网

  //renderInContext 呈现接受者及其子范围到 指定的上下文WJEHTML5中文学习网 - HTML5先行者学习网

  [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];WJEHTML5中文学习网 - HTML5先行者学习网

  // 返回 一个基于当前图形上下文的图片WJEHTML5中文学习网 - HTML5先行者学习网

  UIImage *aImage = UIGraphicsGetImageFromCurrentImageContext();WJEHTML5中文学习网 - HTML5先行者学习网

  // 移除栈顶 的基于当前位图的图形上下文WJEHTML5中文学习网 - HTML5先行者学习网

  UIGraphicsEndImageContext();WJEHTML5中文学习网 - HTML5先行者学习网

  // 以 png 格式 返回指定图片的数据WJEHTML5中文学习网 - HTML5先行者学习网

  imageData = UIImagePNGR epresentation(aImage);WJEHTML5中文学习网 - HTML5先行者学习网

  18.更改cell选中的背景:WJEHTML5中文学习网 - HTML5先行者学习网

  UIView *myview = [[UIView alloc] init];WJEHTML5中文学习网 - HTML5先行者学习网

  myview.frame = CGRectMake(0, 0, 320, 47);WJEHTML5中文学习网 - HTML5先行者学习网

  myview.backgroundColor = [UIColorcolorWithPatternImage:[UIImage imageNamed:@"0006.png"]];WJEHTML5中文学习网 - HTML5先行者学习网

  cell.selectedBackgroundView = myview;:WJEHTML5中文学习网 - HTML5先行者学习网

  19.显示图片WJEHTML5中文学习网 - HTML5先行者学习网

  CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 109.0f);WJEHTML5中文学习网 - HTML5先行者学习网

  UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect];WJEHTML5中文学习网 - HTML5先行者学习网

  [myImage setImage:[UIImage imageNamed:@"myImage.png"]];WJEHTML5中文学习网 - HTML5先行者学习网

  myImage.opaque = YES; //opaque 是否透明WJEHTML5中文学习网 - HTML5先行者学习网

  [self.view addSubview:myImage];WJEHTML5中文学习网 - HTML5先行者学习网

  20.能让图片适应框的大小 (beta)WJEHTML5中文学习网 - HTML5先行者学习网

  NSString*imagePath = [[NSBundle mainBundle] pathForResource:@"XcodeCrash"ofType:@"png"];WJEHTML5中文学习网 - HTML5先行者学习网

  UIImage *image = [[UIImage alloc]initWithContentsOfFile:imagePath];WJEHTML5中文学习网 - HTML5先行者学习网

  UIImage *newImage= [image transformWidth:80.f height:240.f];WJEHTML5中文学习网 - HTML5先行者学习网

  UIImageView *imageView = [[UIImageView alloc]initWithImage: newImage];WJEHTML5中文学习网 - HTML5先行者学习网

  [newImagerelease];WJEHTML5中文学习网 - HTML5先行者学习网

  [image release];WJEHTML5中文学习网 - HTML5先行者学习网

  [self.view addSubview:imageView];WJEHTML5中文学习网 - HTML5先行者学习网

  21. 实现点击图片进行跳转的代码: (生成一个带有背景图片的button,给button绑定想要的事件)WJEHTML5中文学习网 - HTML5先行者学习网

  UIButton *imgButton=[[UIButton alloc]initWithFrame:CGRectMake(0, 0, 120, 120)];WJEHTML5中文学习网 - HTML5先行者学习网

  [imgButton setBackgroundImage:(UIImage *)[self.imgArray objectAtIndex:indexPath.row] forState:UIControlStateNormal];WJEHTML5中文学习网 - HTML5先行者学习网

  imgButton.tag=[indexPath row];WJEHTML5中文学习网 - HTML5先行者学习网

  [imgButton addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];WJEHTML5中文学习网 - HTML5先行者学习网

  22.键盘回收:WJEHTML5中文学习网 - HTML5先行者学习网

  1).增加一个button,相应touch down事件,隐藏键盘。这种方法,太山寨了。为了相应一个事件增加一个button太不值得的。WJEHTML5中文学习网 - HTML5先行者学习网

  .hWJEHTML5中文学习网 - HTML5先行者学习网

  - (IBAction)dismissKeyBoard:(id)sender;WJEHTML5中文学习网 - HTML5先行者学习网

  .mWJEHTML5中文学习网 - HTML5先行者学习网

  - (IBAction)dismissKeyBoard:(id)sender {WJEHTML5中文学习网 - HTML5先行者学习网

  [testText resignFirstResponder];WJEHTML5中文学习网 - HTML5先行者学习网

  }WJEHTML5中文学习网 - HTML5先行者学习网

  2).第二种方法:在背景图片上添加Tap事件,相应单击处理。这种方法,很好代替了button方式,但是如果UI上没有背景图片,这种方法又回到到第一种山寨的方法行列中。WJEHTML5中文学习网 - HTML5先行者学习网

  // 添加带有处理时间的背景图片WJEHTML5中文学习网 - HTML5先行者学习网

  UIImageView *backView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];WJEHTML5中文学习网 - HTML5先行者学习网

  backView.image = [UIImage imageNamed:@"small3.png"];WJEHTML5中文学习网 - HTML5先行者学习网

  backView.userInteractionEnabled = YES;WJEHTML5中文学习网 - HTML5先行者学习网

  UITapGestureRecognizer *singleTouch = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissKeyboard:)];WJEHTML5中文学习网 - HTML5先行者学习网

  [backView addGestureRecognizer:singleTouch];WJEHTML5中文学习网 - HTML5先行者学习网

  backView.tag = 110;WJEHTML5中文学习网 - HTML5先行者学习网

  [self.view addSubview:backView];WJEHTML5中文学习网 - HTML5先行者学习网

  -(void)dismissKeyboard:(id)sender{WJEHTML5中文学习网 - HTML5先行者学习网

  [text resignFirstResponder];WJEHTML5中文学习网 - HTML5先行者学习网

  }WJEHTML5中文学习网 - HTML5先行者学习网

  3).在xib文件中,修改xib文件的objects属性,默认是view属性,我们可以修改为UIControl属性,从而是xib文件相应touch down事件。这种方法,缺点就是没有xib就悲剧了。WJEHTML5中文学习网 - HTML5先行者学习网

  .hWJEHTML5中文学习网 - HTML5先行者学习网

  - (IBAction)dimissKeyboard:(id)sender;WJEHTML5中文学习网 - HTML5先行者学习网

  .mWJEHTML5中文学习网 - HTML5先行者学习网

  - (IBAction)dimissKeyboard:(id)sender {WJEHTML5中文学习网 - HTML5先行者学习网

  [text resignFirstResponder];WJEHTML5中文学习网 - HTML5先行者学习网

  }WJEHTML5中文学习网 - HTML5先行者学习网

  23、Gif图片的解析WJEHTML5中文学习网 - HTML5先行者学习网

  //加载gifWJEHTML5中文学习网 - HTML5先行者学习网

  02WJEHTML5中文学习网 - HTML5先行者学习网

  03 NSString *filePath = [[NSBundle mainBundle]pathForResource:@"bai3" ofType:@"gif"];WJEHTML5中文学习网 - HTML5先行者学习网

  04WJEHTML5中文学习网 - HTML5先行者学习网

  05 NSData *data = [NSData dataWithContentsOfFile:filePath];WJEHTML5中文学习网 - HTML5先行者学习网

  06WJEHTML5中文学习网 - HTML5先行者学习网

  07 CGImageSourceRef gif = CGImageSourceCreateWithData((CFDataRef)data, nil);WJEHTML5中文学习网 - HTML5先行者学习网

  08WJEHTML5中文学习网 - HTML5先行者学习网

  09 //获取gif的各种属性WJEHTML5中文学习网 - HTML5先行者学习网

  10WJEHTML5中文学习网 - HTML5先行者学习网

  11 CFDictionaryRef gifprops =(CGImageSourceCopyPropertiesAtIndex(gif,0,NULL));WJEHTML5中文学习网 - HTML5先行者学习网

  12WJEHTML5中文学习网 - HTML5先行者学习网

  13 NSLog(@"_______%@",gifprops);WJEHTML5中文学习网 - HTML5先行者学习网

  14WJEHTML5中文学习网 - HTML5先行者学习网

  15WJEHTML5中文学习网 - HTML5先行者学习网

  16 NSInteger count =CGImageSourceGetCount(gif);WJEHTML5中文学习网 - HTML5先行者学习网

  17WJEHTML5中文学习网 - HTML5先行者学习网

  18 NSLog(@"________%d",count);WJEHTML5中文学习网 - HTML5先行者学习网

  19WJEHTML5中文学习网 - HTML5先行者学习网

  20WJEHTML5中文学习网 - HTML5先行者学习网

  21 CFDictionaryRef gifDic = CFDictionaryGetValue(gifprops, kCGImagePropertyGIFDictionary);WJEHTML5中文学习网 - HTML5先行者学习网

  22WJEHTML5中文学习网 - HTML5先行者学习网

  23 CFDictionaryRef delay = CFDictionaryGetValue(gifDic, kCGImagePropertyGIFDelayTime);WJEHTML5中文学习网 - HTML5先行者学习网

  24WJEHTML5中文学习网 - HTML5先行者学习网

  25 NSLog(@"_______%@",delay);WJEHTML5中文学习网 - HTML5先行者学习网

  26WJEHTML5中文学习网 - HTML5先行者学习网

  27WJEHTML5中文学习网 - HTML5先行者学习网

  28 //[gifDic objectForKey:(NSString *)kCGImagePropertyGIFDelayTime];WJEHTML5中文学习网 - HTML5先行者学习网

  29WJEHTML5中文学习网 - HTML5先行者学习网

  30 // NSNumber * w = CFDictionaryGetValue(gifprops, @"PixelWidth");WJEHTML5中文学习网 - HTML5先行者学习网

  31WJEHTML5中文学习网 - HTML5先行者学习网

  32 // NSNumber * h =CFDictionaryGetValue(gifprops, @"PixelHeight");WJEHTML5中文学习网 - HTML5先行者学习网

  33WJEHTML5中文学习网 - HTML5先行者学习网

  34 // float totalDuration = delay.doubleValue * count;WJEHTML5中文学习网 - HTML5先行者学习网

  35WJEHTML5中文学习网 - HTML5先行者学习网

  36 // float pixelWidth = w.intValue;WJEHTML5中文学习网 - HTML5先行者学习网

  37WJEHTML5中文学习网 - HTML5先行者学习网

  38 // float pixelHeight = h.intValue;WJEHTML5中文学习网 - HTML5先行者学习网

  39WJEHTML5中文学习网 - HTML5先行者学习网

  40 //将gif解析成UIImage类型对象,并加进images数组中WJEHTML5中文学习网 - HTML5先行者学习网

  41WJEHTML5中文学习网 - HTML5先行者学习网

  42WJEHTML5中文学习网 - HTML5先行者学习网

  43 NSMutableArray *images = [NSMutableArray arrayWithCapacity:count];WJEHTML5中文学习网 - HTML5先行者学习网

  44WJEHTML5中文学习网 - HTML5先行者学习网

  45 for(int index=0;indexWJEHTML5中文学习网 - HTML5先行者学习网

  46WJEHTML5中文学习网 - HTML5先行者学习网

  47 {WJEHTML5中文学习网 - HTML5先行者学习网

  48WJEHTML5中文学习网 - HTML5先行者学习网

  49 CGImageRef ref = CGImageSourceCreateImageAtIndex(gif, index, nil);WJEHTML5中文学习网 - HTML5先行者学习网

  50WJEHTML5中文学习网 - HTML5先行者学习网

  51 UIImage *img = [UIImage imageWithCGImage:ref];WJEHTML5中文学习网 - HTML5先行者学习网

  52WJEHTML5中文学习网 - HTML5先行者学习网

  53 [images addObject:img];WJEHTML5中文学习网 - HTML5先行者学习网

  54WJEHTML5中文学习网 - HTML5先行者学习网

  55 CFRelease(ref);WJEHTML5中文学习网 - HTML5先行者学习网

  56WJEHTML5中文学习网 - HTML5先行者学习网

  57 }WJEHTML5中文学习网 - HTML5先行者学习网

  58WJEHTML5中文学习网 - HTML5先行者学习网

  59 CFRelease(gifprops);WJEHTML5中文学习网 - HTML5先行者学习网

  60WJEHTML5中文学习网 - HTML5先行者学习网

  61 CFRelease(gif);WJEHTML5中文学习网 - HTML5先行者学习网

   Gif的合成WJEHTML5中文学习网 - HTML5先行者学习网

  - (void)exportAnimatedGif:(CGImageSourceRef )gif :(NSMutableArray *)imagesWJEHTML5中文学习网 - HTML5先行者学习网

  02WJEHTML5中文学习网 - HTML5先行者学习网

  03 {WJEHTML5中文学习网 - HTML5先行者学习网

  04WJEHTML5中文学习网 - HTML5先行者学习网

  05 NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"animated.gif"];WJEHTML5中文学习网 - HTML5先行者学习网

  06WJEHTML5中文学习网 - HTML5先行者学习网

  07 CGImageDestinationRef destination = CGImageDestinationCreateWithURL(( CFURLRef)[NSURL fileURLWithPath:path],WJEHTML5中文学习网 - HTML5先行者学习网

  08WJEHTML5中文学习网 - HTML5先行者学习网

  09 kUTTypeGIF,WJEHTML5中文学习网 - HTML5先行者学习网

  10WJEHTML5中文学习网 - HTML5先行者学习网

  11 images.count,WJEHTML5中文学习网 - HTML5先行者学习网

  12WJEHTML5中文学习网 - HTML5先行者学习网

  13 NULL);WJEHTML5中文学习网 - HTML5先行者学习网

  14WJEHTML5中文学习网 - HTML5先行者学习网

  15 UIImage *image;WJEHTML5中文学习网 - HTML5先行者学习网

  16WJEHTML5中文学习网 - HTML5先行者学习网

  17 for (int i = 0; iWJEHTML5中文学习网 - HTML5先行者学习网

  18WJEHTML5中文学习网 - HTML5先行者学习网

  19 {WJEHTML5中文学习网 - HTML5先行者学习网

  20WJEHTML5中文学习网 - HTML5先行者学习网

  21 image = images[i];WJEHTML5中文学习网 - HTML5先行者学习网

  22WJEHTML5中文学习网 - HTML5先行者学习网

  23 CFDictionaryRef gifprops =(CGImageSourceCopyPropertiesAtIndex(gif,i,NULL));WJEHTML5中文学习网 - HTML5先行者学习网

  24WJEHTML5中文学习网 - HTML5先行者学习网

  25 CFDictionaryRef gifDic = CFDictionaryGetValue(gifprops, kCGImagePropertyGIFDictionary);WJEHTML5中文学习网 - HTML5先行者学习网

  26WJEHTML5中文学习网 - HTML5先行者学习网

  27 NSNumber *delay = CFDictionaryGetValue(gifDic, kCGImagePropertyGIFDelayTime);WJEHTML5中文学习网 - HTML5先行者学习网

  28WJEHTML5中文学习网 - HTML5先行者学习网

  29 NSDictionary *gifDelay = [NSDictionary dictionaryWithObject:[NSDictionary dictionaryWithObject:delay forKey:(NSString *)kCGImagePropertyGIFDelayTime]WJEHTML5中文学习网 - HTML5先行者学习网

  30WJEHTML5中文学习网 - HTML5先行者学习网

  31 forKey:(NSString *)kCGImagePropertyGIFDictionary];WJEHTML5中文学习网 - HTML5先行者学习网

  32WJEHTML5中文学习网 - HTML5先行者学习网

  33WJEHTML5中文学习网 - HTML5先行者学习网

  34WJEHTML5中文学习网 - HTML5先行者学习网

  35 CGImageDestinationAddImage(destination,image.CGImage, (CFDictionaryRef)gifDelay);WJEHTML5中文学习网 - HTML5先行者学习网

  36WJEHTML5中文学习网 - HTML5先行者学习网

  37 CGImageDestinationSetProperties(destination, ( CFDictionaryRef)gifprops);WJEHTML5中文学习网 - HTML5先行者学习网

  38WJEHTML5中文学习网 - HTML5先行者学习网

  39 }WJEHTML5中文学习网 - HTML5先行者学习网

  40WJEHTML5中文学习网 - HTML5先行者学习网

  41WJEHTML5中文学习网 - HTML5先行者学习网

  42WJEHTML5中文学习网 - HTML5先行者学习网

  43 // CGImageDestinationSetProperties(destination, ( CFDictionaryRef)gifprops);WJEHTML5中文学习网 - HTML5先行者学习网

  44WJEHTML5中文学习网 - HTML5先行者学习网

  45 CGImageDestinationFinalize(destination);WJEHTML5中文学习网 - HTML5先行者学习网

  46WJEHTML5中文学习网 - HTML5先行者学习网

  47 CFRelease(destination);WJEHTML5中文学习网 - HTML5先行者学习网

  48WJEHTML5中文学习网 - HTML5先行者学习网

  49 NSLog(@"animated GIF file created at %@", path);WJEHTML5中文学习网 - HTML5先行者学习网

  50WJEHTML5中文学习网 - HTML5先行者学习网

  51WJEHTML5中文学习网 - HTML5先行者学习网

  52 }WJEHTML5中文学习网 - HTML5先行者学习网

   24.将一个UIView对象的内容保存为UIImageWJEHTML5中文学习网 - HTML5先行者学习网

  + (UIImage*)imageFromView:(UIView*)view{WJEHTML5中文学习网 - HTML5先行者学习网

  02WJEHTML5中文学习网 - HTML5先行者学习网

  03 UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, view.layer.contentsScale);WJEHTML5中文学习网 - HTML5先行者学习网

  04WJEHTML5中文学习网 - HTML5先行者学习网

  05 [view.layer renderInContext:UIGraphicsGetCurrentContext()];WJEHTML5中文学习网 - HTML5先行者学习网

  06WJEHTML5中文学习网 - HTML5先行者学习网

  07 UIImage *image = UIGraphicsGetImageFromCurrentImageContext();WJEHTML5中文学习网 - HTML5先行者学习网

  08WJEHTML5中文学习网 - HTML5先行者学习网

  09 UIGraphicsEndImageContext();WJEHTML5中文学习网 - HTML5先行者学习网

  10WJEHTML5中文学习网 - HTML5先行者学习网

  11 return image;WJEHTML5中文学习网 - HTML5先行者学习网

  12WJEHTML5中文学习网 - HTML5先行者学习网

  13 }WJEHTML5中文学习网 - HTML5先行者学习网

  注意:生成的图片的scale和view的scale一致,这样才可以保证图片的效果和view显示的完全一致,使用renderInContext方法可以让subviews的内容也显示的图片里。WJEHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助