成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone開發中一些使用小技巧

移動開發 iOS
本文介紹的是iPhone開發中一些使用小技巧,很詳細的介紹了,在開發過程中提高效率的一些小知識,我們來看詳細內容。

iPhone開發中一些使用小技巧是本文要介紹的內容,與友們分享一篇對編程友人有用的一篇文章,我們來看內容。

經過半年多的iphone開發,我發現在開發過程中最難的就是一些嘈雜的細節,而了解一些小技巧就會達到事半功倍的效果,下面我就總結一下在iphone開發中的一些小技巧。

1、如果在程序中想對某張圖片進行處理的話(得到某張圖片的一部分)可一用以下代碼:

  1. UIImage *image = [UIImage imageNamed:filename];  
  2. CGImageRef imageimageRef = image.CGImage;  
  3.  
  4. CGRect rect = CGRectMake(origin.x, origin.y ,size.width, size.height);  
  5.  
  6. CGImageRef imageRefRect = CGImageCreateWithImageInRect(imageRef, rect);  
  7.  
  8. UIImage *imageRect = [[UIImage alloc] initWithCGImage:imageRefRect]; 

2、判斷設備是iphone還是iphone4的代碼:

  1. #define isRetina ([UIScreen instancesRespondToSelector:  
  2. @selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960),   
  3. [[UIScreen mainScreen] currentMode].size) : NO) 

3、判斷郵箱輸入的是否正確:

  1. - (BOOL) validateEmail: (NSString *) candidate {  
  2. NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}";   
  3. NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];   
  4. return [emailTest evaluateWithObject:candidate];  

4、如何把當前的視圖作為照片保存到相冊中去:

  1. #import <QuartzCore/QuartzCore.h> 
  2. UIGraphicsBeginImageContext(currentView.bounds.size);     //currentView 當前的view  
  3. [currentView.layer renderInContext:UIGraphicsGetCurrentContext()];  
  4. UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();  
  5. UIGraphicsEndImageContext();  
  6. UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil); 

5、本地通知(類似于push通知)按home鍵到后臺十秒后觸發:

  1. UILocalNotification *notification=[[UILocalNotification alloc] init];   
  2. if (notification!=nil) {   
  3. NSLog(@">> support local notification");   
  4. NSDate *now=[NSDate new];   
  5. notification.fireDate=[now addTimeInterval:10];   
  6. notification.timeZone=[NSTimeZone defaultTimeZone];   
  7. notification.alertBody=@"該去吃晚飯了!";   
  8. [[UIApplication sharedApplication].scheduleLocalNotification:notification];  

6、捕獲iphone通話事件:

  1. CTCallCenter *center = [[CTCallCenter alloc] init];  
  2. center.callEventHandler = ^(CTCall *call)   
  3. {  
  4. NSLog(@"call:%@", call.callState);  

7、iOS 4 引入了多任務支持,所以用戶按下 “Home” 鍵以后程序可能并沒有退出而是轉入了后臺運行。如果您想讓應用直接退出,最簡單的方法是:在 info-plist 里面找到 Application does not run in background 一項,勾選即可。

8、使UIimageView的圖像旋轉:

  1. float rotateAngle = M_PI;  
  2. CGAffineTransform transform =CGAffineTransformMakeRotation(rotateAngle);  
  3. imageView.transform = transform; 

9、設置旋轉的原點:

  1. #import <QuartzCore/QuartzCore.h> 
  2. UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg.png"]];  
  3. imageView.layer.anchorPoint = CGPointMake(0.5, 1.0); 

10、實現自定義的狀態欄(遮蓋狀態欄):

  1. CGRect frame = {{0, 0}, {320, 20}};  
  2. UIWindow* wd = [[UIWindow alloc] initWithFrame:frame];  
  3. [wd setBackgroundColor:[UIColor clearColor]];  
  4. [wd setWindowLevel:UIWindowLevelStatusBar];  
  5. frame = CGRectMake(100, 0, 30, 20);  
  6. UIImageView* img = [[UIImageView alloc] initWithFrame:frame];  
  7. [img setContentMode:UIViewContentModeCenter];  
  8. [img setImage:[UIImage imageNamed:@"00_0103.png"]];  
  9. [wd addSubview:img];  
  10. [wd makeKeyAndVisible];  
  11. [UIView beginAnimations:nil context:nil];  
  12. [UIView setAnimationDuration:2];  
  13. frame.origin.x += 150;  
  14. [img setFrame:frame];  
  15. [UIView commitAnimations]; 

11、在程序中實現電話的撥打:

  1. //添加電話圖標按鈕   
  2. UIButton *btnPhone = [[UIButton buttonWithType:UIButtonTypeCustom] retain];   
  3. btnPhone.frame = CGRectMake(280,10,30,30);   
  4. UIImage *image = [UIImage imageNamed:@"phone.png"];       
  5. [btnPhone setBackgroundImage:image forState:UIControlStateNormal];   
  6. //點擊撥號按鈕直接撥號   
  7. [btnPhone addTarget:self action:@selector(callAction:event:) forControlEvents:UIControlEventTouchUpInside];   
  8. [cell.contentView addSubview:btnPhone];  //cell是一個UITableViewCell   
  9. //定義點擊撥號按鈕時的操作   
  10. - (void)callAction:(id)sender event:(id)event{   
  11. NSSet *touches = [event allTouches];   
  12. UITouch *touch = [touches anyObject];   
  13. CGPoint currentTouchPosition = [touch locationInView:self.listTable];   
  14. NSIndexPath *indexPath = [self.listTable indexPathForRowAtPoint: currentTouchPosition];   
  15. if (indexPath == nil) {   
  16. return;   
  17. }   
  18. NSInteger section = [indexPath section];   
  19. NSUInteger row = [indexPath row];   
  20. NSDictionary *rowData = [datas objectAtIndex:row];   
  21. NSString *num = [[NSString alloc] initWithFormat:@"tel://%@",number]; //number為號碼字符串       
  22. [[UIApplication sharedApplication] openURL:[NSURL URLWithString:num]]; //撥號   

12、更改iphone的鍵盤顏色:

1.只有這2種數字鍵盤才有效果。UIKeyboardTypeNumberPad,UIKeyboardTypePhonePad

2. keyboardAppearance = UIKeyboardAppearanceAlert

  1. - (void)textViewDidBeginEditing:(UITextView *)textView{  
  2. NSArray *ws = [[UIApplication sharedApplication] windows];  
  3. for(UIView *w in ws){  
  4. NSArray *vs = [w subviews];  
  5. for(UIView *v in vs)  
  6. {  
  7. if([[NSString stringWithUTF8String:object_getClassName(v)] isEqualToString:@"UIKeyboard"])  
  8. {  
  9. v.backgroundColor = [UIColor redColor];  
  10. }  
  11. }  

13、設置時區

  1. NSTimeZone *defaultTimeZone = [NSTimeZone defaultTimeZone];  
  2. NSTimeZone *tzGMT = [NSTimeZone timeZoneWithName:@"GMT"];  
  3. [NSTimeZone setDefaultTimeZone:tzGMT]; 

上面兩個時區任意用一個。

14、Ipad隱藏鍵盤的同時觸發方法。

  1. [[NSNotificationCenter defaultCenter] addObserver:self  
  2. selector:@selector(keyboardWillHide:)  
  3. name:UIKeyboardWillHideNotification  
  4.   object:nil];  
  5. - (IBAction)keyboardWillHide:(NSNotification *)note 

15、計算字符串的字數

  1. -(int)calculateTextNumber:(NSString *)text  
  2. {  
  3. float number = 0.0;  
  4. int index = 0;  
  5. for (index; index < [text length]; index++)  
  6. {  
  7. NSString *protoText = [text substringToIndex:[text length] - index];  
  8. NSString *toChangetext = [text substringToIndex:[text length] -1 -index];  
  9. NSString *charater;  
  10. if ([toChangetext length]==0)  
  11. {  
  12. charater = protoText;  
  13. }  
  14. else   
  15. {  
  16. NSRange range = [text rangeOfString:toChangetext];  
  17. charater = [protoText stringByReplacingCharactersInRange:range withString:@""];  
  18. }  
  19. NSLog(charater);  
  20. if ([charater lengthOfBytesUsingEncoding:NSUTF8StringEncoding] == 3)  
  21. {  
  22. number++;  
  23. }  
  24. else   
  25. {  
  26. numbernumber = number+0.5;  
  27. }  
  28. }  
  29. return ceil(number);  
  30. }  

小結:iPhone開發中一些使用小技巧的內容介紹為完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2013-03-29 09:03:59

iOS實用小代碼iOS開發

2012-12-24 14:51:02

iOS

2015-08-17 15:53:58

Linux桌面

2024-03-11 15:08:26

Linux操作系統進程

2011-10-26 20:55:43

ssh 安全

2022-02-17 13:58:38

Linux技巧文件

2021-10-12 23:10:58

UnsafeJavaJDK

2018-09-11 16:15:36

Vue高版本前端

2022-08-28 23:51:04

編輯器vim代碼

2020-09-25 08:28:12

Javascript

2013-07-18 16:16:51

2013-08-21 13:47:29

PhoneUDIDUUID

2009-05-29 09:30:10

iPhone蘋果移動OS

2017-05-23 14:33:46

簡歷求職前端開發

2022-05-24 12:50:58

Pandas索引代碼

2013-03-29 13:17:53

XCode調試技巧iOS開發

2012-05-21 10:13:05

XCode調試技巧

2011-06-01 16:50:21

JAVA

2022-12-02 14:58:27

JavaScript技巧編程

2009-11-17 17:15:21

路由器安全設置
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 人人做人人澡人人爽欧美 | 天堂免费看片 | 视频在线观看一区 | 国产免费va | 日韩精品在线看 | 国产精品视频一区二区三区不卡 | 成人在线观看免费 | 日韩一区二区在线观看视频 | 亚洲一区二区久久 | 亚洲第一视频网 | 国产成人精品一区二 | 成人免费精品 | 国产黄色大片在线观看 | www性色 | 亚洲国产一区二区三区在线观看 | 亚洲国产精品99久久久久久久久 | 久久亚洲欧美日韩精品专区 | 国产精品欧美一区二区 | 欧美精品一区二区三区在线播放 | 91视在线国内在线播放酒店 | 色综合99 | 成人影 | 日韩av免费在线观看 | 黄色免费网站在线看 | 国产激情视频在线观看 | 亚洲视频欧美视频 | 国产剧情一区 | 欧美a级成人淫片免费看 | 日韩在线观看中文字幕 | 天堂国产 | 精品福利一区二区三区 | 奇米影视77 | 蜜桃av人人夜夜澡人人爽 | 玖玖操| 日韩久久久久久久久久久 | 欧美日韩在线播放 | 一区二区三区四区国产 | 日韩免费中文字幕 | 国产精品国产精品 | 天天躁日日躁性色aⅴ电影 免费在线观看成年人视频 国产欧美精品 | 性一交一乱一透一a级 |