【轉】丟了格式的知識點

http://blog.csdn.net/u012338816/article/details/50834736

個人iOS項目常用效果方法注意點集錦(上)----簡書

50.禁止橫屏方法

- (NSUInteger)application:(UIApplication*)application supportedInterfaceOrientationsForWindow:(UIWindow*)window? {returnUIInterfaceOrientationMaskPortrait;? }

49.一行代碼解決改變展位圖文本顏色代碼

[_userName setValue:[UIColor whiteColor]forKeyPath:@"_placeholderLabel.textColor"];

48.修改狀態(tài)欄顏色

iOS7默認狀態(tài)欄文字顏色為黑色误证,項目需要修改為白色。

1在Info.plist中設置UIViewControllerBasedStatusBarAppearance為NO2 在需要改變狀態(tài)欄顏色的AppDelegate中在didFinishLaunchingWithOptions方法中增加:[[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent];如果需要在單個ViewController中添加,在ViewDidLoad方法中增加:[[UIApplication sharedApplication]setStatusBarStyle:UIStatusBarStyleLightContent];

屏幕快照 2016-01-24 下午8.14.40.png

47.判斷程序是否第一次啟動

if(![[NSUserDefaultsstandardUserDefaults] boolForKey:@"firstLaunch"]){? ? ? ? [[NSUserDefaultsstandardUserDefaults] setBool:YESforKey:@"firstLaunch"];NSLog(@"第一次啟動");? ? ? ? [[NSUserDefaultsstandardUserDefaults] setBool:NOforKey:@"isLogin"];? ? }else{NSLog(@"已經(jīng)不是第一次啟動了");? ? }

46.iPhone尺寸規(guī)格

iPhone尺寸規(guī)格.png

45.模糊效果

// 模糊效果//? ? UIBlurEffect *effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight];//? ? UIVisualEffectView *test = [[UIVisualEffectView alloc] initWithEffect:effect];//? ? test.frame = self.view.bounds;//? ? test.alpha = 0.5;//? ? [self.view addSubview:test];

44.block傳值

block回調進行傳值操作? 首先思考你的值在什么地方(哪個控制器)A誰需要這個值 B一般block都是從后往前傳值即(A對象先初始化 在A對象的生命周期中因為某些情況 需要B對象提供一個參數(shù),那我們是在A的實現(xiàn)中初始化了B對象 A對象就可以獲取到B對象 那就意味著可以將B對象的block.實現(xiàn)在A的肚子里 B對象可以獲取到參數(shù),獲取到參數(shù)之后調用自己的block,就相當于方法調用,因為這個block實現(xiàn)在A中,所以系統(tǒng)會回到A的肚子里執(zhí)行block的實現(xiàn));示例A控制器中的一個按鈕方法-(void)buttonAction{//初始化一個B控制器B *bVC = [B new];//實現(xiàn)B控制器的blockbVC.block= ^(參數(shù)類型? *參數(shù)名稱){? ? ? nslog:(@“這是block的實現(xiàn)? ? 獲取到參數(shù)%@”,參數(shù)名稱);? };}B控制器中請求數(shù)據(jù)的方法-(void)requestData{//獲取到數(shù)據(jù)后調用自己的block并傳入?yún)?shù)self.block(參數(shù)) ;? ? 調用block的時候系統(tǒng)回去尋找這個block的實現(xiàn) 無論它在哪里實現(xiàn)都會執(zhí)行 如果沒有實現(xiàn)會導致奔潰 所以我們一般會加個if判斷一下是否實現(xiàn)了block}

43.添加每個cell出現(xiàn)時的3D動畫

-(void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath*)indexPath{// 動畫1//? ? CATransform3D rotation;//3D旋轉//? ? rotation = CATransform3DMakeRotation( (90.0*M_PI)/180, 0.0, 0.7, 0.4);//? ? //逆時針旋轉//? ? rotation.m34 = 1.0/ -600;////? ? cell.layer.shadowColor = [[UIColor blackColor]CGColor];//? ? cell.layer.shadowOffset = CGSizeMake(10, 10);//? ? cell.alpha = 0;////? ? cell.layer.transform = rotation;////? ? [UIView beginAnimations:@"rotation" context:NULL];//? ? //旋轉時間//? ? [UIView setAnimationDuration:0.8];//? ? cell.layer.transform = CATransform3DIdentity;//? ? cell.alpha = 1;//? ? cell.layer.shadowOffset = CGSizeMake(0, 0);//? ? [UIView commitAnimations];// 動畫2cell.alpha=0.5;CGAffineTransformtransformScale =CGAffineTransformMakeScale(0.3,0.8);CGAffineTransformtransformTranslate =CGAffineTransformMakeTranslation(0.5,0.6);? ? cell.transform=CGAffineTransformConcat(transformScale, transformTranslate);? ? [tableView bringSubviewToFront:cell];? ? [UIViewanimateWithDuration:.4f? ? ? ? ? ? ? ? ? ? ? ? ? delay:0options:UIViewAnimationOptionAllowUserInteractionanimations:^{? ? ? ? ? ? ? ? ? ? ? ? cell.alpha=1;//清空 transformcell.transform=CGAffineTransformIdentity;? ? ? ? ? ? ? ? ? ? } completion:nil];// 動畫3/*

? ? // 從錨點位置出發(fā),逆時針繞 Y 和 Z 坐標軸旋轉90度

? ? CATransform3D transform3D = CATransform3DMakeRotation(M_PI_2, 0.0, 1.0, 1.0);

? ? // 定義 cell 的初始狀態(tài)

? ? cell.alpha = 0.0;

? ? cell.layer.transform = transform3D;

? ? cell.layer.anchorPoint = CGPointMake(0.0, 0.5); // 設置錨點位置;默認為中心點(0.5, 0.5)

? ? // 定義 cell 的最終狀態(tài)亿驾,執(zhí)行動畫效果

? ? // 方式一:普通操作設置動畫

? ? [UIView beginAnimations:@"transform" context:NULL];

? ? [UIView setAnimationDuration:0.5];

? ? cell.alpha = 1.0;

? ? cell.layer.transform = CATransform3DIdentity;

? ? CGRect rect = cell.frame;

? ? rect.origin.x = 0.0;

? ? cell.frame = rect;

? ? [UIView commitAnimations];

? ? // 方式二:代碼塊設置動畫

? ? //? ? ? ? [UIView animateWithDuration:0.5 animations:^{

? ? //? ? ? ? ? ? ? ? cell.alpha = 1.0;

? ? //? ? ? ? ? ? ? ? cell.layer.transform = CATransform3DIdentity;

? ? //? ? ? ? ? ? ? ? CGRect rect = cell.frame;

? ? //? ? ? ? ? ? ? ? rect.origin.x = 0.0;

? ? //? ? ? ? ? ? cell.frame = rect;

? ? //? ? ? ? ? ? }];

? ? */}

42.強制橫屏代碼

#pragma mark - 強制橫屏代碼- (BOOL)shouldAutorotate{//是否支持轉屏returnNO;}- (UIInterfaceOrientationMask)supportedInterfaceOrientations{//支持哪些轉屏方向returnUIInterfaceOrientationMaskLandscape;}- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation{returnUIInterfaceOrientationLandscapeRight;}- (BOOL)prefersStatusBarHidden{returnNO;}

41.將window上的顯示在最外層

[[[[UIApplication sharedApplication]delegate]window]addSubview:topImgView];

40.監(jiān)測網(wǎng)絡狀態(tài)

只要網(wǎng)絡狀態(tài)發(fā)生了變化,在任何一個視圖控制器都會給出相應的提示

說明: 這里需要導入第三方庫,1. MBProgressHUD 2. AFNetworking

導入頭文件 MBProgressHUD.h, AFNetworking.h

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {// 應用程序加載完成UIWindow*window = ((AppDelegate *) [UIApplicationsharedApplication].delegate).window;? ? AFNetworkReachabilityManager *manager = [AFNetworkReachabilityManager sharedManager];? ? [manager setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {// 使用MBProgressHUD三方庫創(chuàng)建彈框诱贿,給出相應的提示MBProgressHUD *hud = [MBProgressHUD showHUDAddedTo:window animated:YES];? ? ? ? hud.mode= MBProgressHUDModeText;switch(status) {caseAFNetworkReachabilityStatusNotReachable:// 彈框提示的內容hud.labelText=@"世界上最遙遠的距離就是沒網(wǎng)";break;caseAFNetworkReachabilityStatusReachableViaWWAN:? ? ? ? ? ? ? ? hud.labelText=@"2G/3G/4G";break;caseAFNetworkReachabilityStatusReachableViaWiFi:? ? ? ? ? ? ? ? hud.labelText=@"WiFi在線";default:break;? ? ? ? }dispatch_async(dispatch_get_global_queue(0,0), ^{// 顯示時間2ssleep(2);dispatch_async(dispatch_get_main_queue(), ^{// 讓彈框消失[MBProgressHUD hideHUDForView:window animated:YES];? ? ? ? ? ? });? ? ? ? });? ? }];? ? [manager startMonitoring];returnYES;}

另一種:

利用AFNetworking實時檢測網(wǎng)絡連接狀態(tài).png

39.在狀態(tài)欄顯示有網(wǎng)絡請求的提示器

//- (void)webViewDidStartLoad:(UIWebView *)webView {//? ? [UIApplication sharedApplication].networkActivityIndicatorVisible = YES;//}//- (void)webViewDidFishLoad:(UIWebView *)webView {//? ? [UIApplication sharedApplication].networkActivityIndicatorVisible = NO;//}//接收響應// 在狀態(tài)欄顯示有網(wǎng)絡請求的提示器//- (void)connection:(NSURLConnection*)connection didReceiveResponse:(NSURLResponse*)response{//? ? //? ? //網(wǎng)絡活動指示器//? ? //? ? [UIApplication sharedApplication].networkActivityIndicatorVisible=YES;//? ? //}//隱藏狀態(tài)欄//- (BOOL)prefersStatusBarHidden////{//? ? //? ? return YES;//? ? //}

38.模糊效果

// 模糊效果UIBlurEffect*effect = [UIBlurEffecteffectWithStyle:UIBlurEffectStyleLight];UIVisualEffectView*test = [[UIVisualEffectViewalloc] initWithEffect:effect];? ? test.frame=self.view.bounds;? ? test.alpha=0.5;? ? [self.viewaddSubview:test];

37.全局斷點+僵尸模式 排錯

屏幕快照 2016-01-18 下午2.36.06.png

36.導入框架方法

QQ20160113-2.png

35.相對路徑

$(SRCROOT)/

34.在storyboard上添加ScrollView

XV~111@6GL_8$J_E7]9M(7C.jpg

33.圖片緩存的基本代碼,就是這么簡單

[imageViewsd_setImageWithURL:[NSURLURLWithString:self.titleImageArray[i]]];

32.返回cell高度

- (CGFloat)tableView:(UITableView*)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath {NSString*string =self.lrcArr[indexPath.row];CGRectframe = [string boundingRectWithSize:CGSizeMake([UIScreenmainScreen].bounds.size.width,10000) options:(NSStringDrawingUsesLineFragmentOrigin) attributes:[NSDictionarydictionaryWithObject:[UIFontsystemFontOfSize:17] forKey:NSFontAttributeName] context:nil];returnframe.size.height;}

31. UIImageView

NSArray *animationImages; // 把圖片賦值給動畫數(shù)組【幀動畫】

NSInteger animationRepeatCount; // 默認是0咕缎,無限循環(huán)

NSTimeInterval animationDuration; // 執(zhí)行一輪圖片的時間

30. UIImage

UIImageimage = [UIImage imageNamed:@“ha.jpg”];

【特別注意】imageNamed:帶有緩存珠十,通過imageNamed創(chuàng)建的圖片會放到緩存中

UIImage

image = [UIImage imageWithContentsOfFile:path];

【特別注意】imageWithContentsOfFile:不帶緩存,所以圖片量比較大得時候凭豪,用這個方法

延遲(時間參數(shù))執(zhí)行(clearImages)方法

[self performSelector:@selector(clearImages) withObject:nil afterDelay:(延遲多長時間參數(shù))];

29. xib的本質是xml文件

xib編譯之后生成的是nib文件

28. 什么時候用宏焙蹭,什么時候用變量(宏和變量都方便修改參數(shù)值)

如果在一個方法里面的時候,用變量

如果在多個方法里面嫂伞,或者多個類中孔厉,用宏

27. 懶加載里面的判斷條件(含義)

!_imageView 等同于 _imageView == nil

_imageView 等同于 _imageView != nil

26.視圖是否自動(只是把第一個自動)向下挪64

self.automaticallyAdjustsScrollViewInsets = NO; // 不讓系統(tǒng)幫咱們把scrollView及其子類的視圖向下調整64

25.問題處理:有時候self是加在parentViewController(父ViewController)上的,self上面是沒有navigationController的帖努,但是這時還想使用self父類的navigationController撰豺,那么,此時需要第二種方法push過去

[self.navigationController pushViewController:detailViewController animated:YES];

[self.parentViewController.navigationController pushViewController:detailViewController animated:YES];

24.問題處理:cell是有重用機制的拼余,但有時候郑趁,我們的cell是自適應高度,但是所有cell的標識都是一個姿搜,那么寡润,在重用的時候會出現(xiàn) 有的單元格高捆憎,有的單元格矮的情況,和本身想要的frame不匹配梭纹,這個時候躲惰,只需要給cell上面的視圖在懶加載的時候,重新賦frame值就好了变抽。也就是在if判斷外础拨,再賦值一次frame。(例如绍载,豆瓣項目電影院列表)

23. 容器視圖控制器

把一個視圖控制器作為容器視圖控制器诡宗,在這個容器視圖控制器上添加多個其他視圖控制器,并把其他控制器的視圖添加上來

TableViewController *tableViewController = [[TableViewController alloc] init];

[self addChildViewController:tableViewController]; // self在這里就是容器視圖控制器

[self.view addSubView:tableViewController.tableView];

使用場景:當我們某個視圖控制器要使用多個子界面击儡,并且多個子界面的處理事務的邏輯比較復雜塔沃,我們就可以通過這種方式將不同的邏輯處理拆分開,在各自的視圖控制器中處理自己的邏輯阳谍,而不是所有邏輯都在當前視圖控制器中處理蛀柴。

22. 程序的退出【了解】

【特別注意】iOS的應用程序在應用程序內部是不允許被退出的,只能通過連擊兩次HOME鍵的時候進入程序管理界面 通過上滑退出矫夯。如果在應用程序中寫了下面的代碼鸽疾,那么在提交程序的時候是不能被審核通過的。所以下面的代碼是不允許寫的训貌。在這里只是作了解制肮。

exit(0); // 只要執(zhí)行這個語句,程序就會直接退出

21. 隱藏手機的狀態(tài)欄

-(BOOL)prefersStatusBarHidden {

return YES;

}

20. 代理的安全保護【斷是否有代理递沪,和代理是否執(zhí)行了代理方法】

if (self.delegate && [self.delegate respondsToSelector:@selector(passValueWithArray:)]) {

}

19.按照文字計算高度

- (void)descHeightWithDesc:(NSString*)desc{CGRectrect = [desc boundingRectWithSize:CGSizeMake(240, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeadingattributes:@{NSFontAttributeName:self.descLabel.font} context:nil];//按照文字計算高度floattextHeight = rect.size.height;CGRectframe =self.descLabel.frame;? ? frame.size.height= textHeight;self.descLabel.frame= frame;}

18.網(wǎng)絡請求圖片

//? ? NSURL *url = [NSURL URLWithString:urlString];//? ? NSURLRequest *request = [NSURLRequest requestWithURL:url];//? ? NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];//? ? UIImage *image = [UIImage imageWithData:data];//此種寫法和上面的操作是一致的豺鼻,都是同步請求數(shù)據(jù)。UIImage*image = [UIImageimageWithData:[NSDatadataWithContentsOfURL:[NSURLURLWithString:urlString]]];returnimage;

17.substringWithRange: 專門截取字符串的一塊肉

NSMakeRange(4,2) 從第4個字符開始截取区拳,長度為2個字符拘领,(字符串都是從第0個字符開始數(shù)的哦~R馀摇)

self.begin_time= dic[@"begin_time"];self.end_time= dic[@"end_time"];NSRangerange =NSMakeRange(5,11);self.time= [[self.begin_timesubstringWithRange:range] stringByAppendingString:[@" -- "stringByAppendingString:[self.end_timesubstringWithRange:range]]];

16.iOS9中新增App Transport Security(簡稱ATS)特性

主要使用到原來請求的時候用到的HTTP樱调,都轉向TLS1.2協(xié)議進行傳輸。這也意味著所有的HTTP協(xié)議都強制使用了HTTPS協(xié)議進行傳輸届良。

工程導入.png

15.導入Xcode空模板

只需要把你下載好的空模板拷貝到該路徑下即可.

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/iOS/Application

14. 在ARC工程中導入MRC的類和在MRC工程中導入ARC的類

// 在ARC工程中導入MRC的類? 我們選中工程->選中targets中的工程,然后選中Build Phases->在導入的類后邊加入標記 -? fno-objc-arc// 在MRC工程中導入ARC的類 路徑與上面一致,在該類后面加上標記 -fobjc-arc

13.UITextField的字數(shù)限制

// viewDidLoad中[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(textFiledEditChanged:)? ? ? ? ? name:@"UITextFieldTextDidChangeNotification"object:myTextField];

-(void)textFiledEditChanged:(NSNotification*)obj{UITextField*textField = (UITextField*)obj.object;NSString*toBeString = textField.text;//獲取高亮部分UITextRange*selectedRange = [textField markedTextRange];UITextPosition*position = [textField positionFromPosition:selectedRange.startoffset:0];// 沒有高亮選擇的字笆凌,則對已輸入的文字進行字數(shù)統(tǒng)計和限制if(!position)? ? {if(toBeString.length> MAX_STARWORDS_LENGTH)? ? ? ? {NSRangerangeIndex = [toBeString rangeOfComposedCharacterSequenceAtIndex:MAX_STARWORDS_LENGTH];if(rangeIndex.length==1)? ? ? ? ? ? {? ? ? ? ? ? ? ? textField.text= [toBeString substringToIndex:MAX_STARWORDS_LENGTH];? ? ? ? ? ? }else{NSRangerangeRange = [toBeString rangeOfComposedCharacterSequencesForRange:NSMakeRange(0, MAX_STARWORDS_LENGTH)];? ? ? ? ? ? ? ? textField.text= [toBeString substringWithRange:rangeRange];? ? ? ? ? ? }? ? ? ? }? ? } }

12.處理標簽字符串中的空格,換行,/t(制表符)等

- (NSString*)replaceStringWithString :(NSMutableString*)string{NSString*string1 = [string stringByReplacingOccurrencesOfString:@"\n"withString:@""] ;NSString*string2 = [string1 stringByReplacingOccurrencesOfString:@" "withString:@""] ;NSString*string3 = [string2 stringByReplacingOccurrencesOfString:@"\r"withString:@""] ;NSString*string4 = [string3 stringByReplacingOccurrencesOfString:@"\t"withString:@""] ;returnstring4 ;}

11.通過2D仿射函數(shù)實現(xiàn)小的動畫效果(變大縮小) --可用于自定義pageControl中.

[UIViewanimateWithDuration:0.3 animations:^{? ? ? imageView.transform = CGAffineTransformMakeScale(2,2);} completion:^(BOOLfinished){? ? ? imageView.transform = CGAffineTransformMakeScale(1.0,1.0);}];

10.當有多個導航控制器時,一次設置多個導航控制器

UINavigationBar*navBar = [UINavigationBarappearance] ;// 所有導航條顏色都會改變 -- 一鍵設置//navBar.barTintColor = [UIColor yellowColor] ;[navBar setBackgroundImage:[UIImageimageNamed:@"bg_nav.png"] forBarMetrics:UIBarMetricsDefault] ;

9.UIImage與字符串互轉

//圖片轉字符串? -(NSString*)UIImageToBase64Str:(UIImage*) image? {NSData*data =UIImageJPEGRepresentation(image,1.0f);NSString*encodedImageStr = [data base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];returnencodedImageStr;? }//字符串轉圖片? -(UIImage*)Base64StrToUIImage:(NSString*)_encodedImageStr? {NSData*_decodedImageData? = [[NSDataalloc] initWithBase64Encoding:_encodedImageStr];UIImage*_decodedImage? ? ? = [UIImageimageWithData:_decodedImageData];return_decodedImage;? }

8.UITableViewCell可移動,需要打開的代理方法以及移動過程中調用的代理方法

// tableView可移動? 移動完成之后會調用此代理方法- (void)tableView:(UITableView*)tableView moveRowAtIndexPath:(NSIndexPath*)sourceIndexPath toIndexPath:(NSIndexPath*)destinationIndexPath{}// 移動過程中調用的代理方法 -- 示例為不能跨區(qū)移動/**

*? <#Description#>

*

*? @param tableView

*? @param sourceIndexPath? ? ? ? ? ? ? 所要移動單元格的原始位置

*? @param proposedDestinationIndexPath 將要移動到的位置

*

*? @return return value description

*/- (NSIndexPath*)tableView:(UITableView*)tableView targetIndexPathForMoveFromRowAtIndexPath:(NSIndexPath*)sourceIndexPath toProposedIndexPath:(NSIndexPath*)proposedDestinationIndexPath{// 移動位置在同一分區(qū)if(sourceIndexPath.section== proposedDestinationIndexPath.section)? ? {// 這時允許單元格移動returnproposedDestinationIndexPath ;? ? }// 不在同一分區(qū) 不讓單元格移動,返回原始的indexPathelse{returnsourceIndexPath ;? ? }}

8.隱藏狀態(tài)欄 修改狀態(tài)欄風格

-(UIStatusBarStyle)preferredStatusBarStyle {returnUIStatusBarStyleLightContent;// 暗背景色時使用} - (BOOL)prefersStatusBarHidden {returnYES;// 是否隱藏狀態(tài)欄}

7.單例+方法鎖

staticSingleton *singleton =nil;+ (Singleton *)defaultSingleton{// 方法鎖,作用為:當多個線程同時調用方法的時候,保證只有一個線程在使用該方法.例如:A和B同時調用defaultSingleton方法,如果A正在使用該方法,那么B就不能調用,直到A使用完成,B才會執(zhí)行該方法.這個也保證單例對象的唯一性,避免初始化方法被同時多次執(zhí)行.@synchronized(self)? ? {if(singleton ==nil)? ? ? ? {? ? ? ? ? ? singleton = [[Singleton alloc] init] ;? ? ? ? }}returnsingleton ;}

6.取消圖片的渲染

[button setImage:[[UIImageimageNamed:@"1.jpg"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]? forState:UIControlStateNormal] ;

5. NSNumber

a.是數(shù)字的NS對象的表達形式,如果要把數(shù)字添加到數(shù)組或者字典中士葫,必須要進行轉換乞而,同時要使用數(shù)組中的數(shù)字,還需要轉換成對應的數(shù)字慢显。

b.要轉換數(shù)字可以使用OC提供的包裝方法:@(int)

c.要把NSNumber轉換成字符串爪模,需要使用stringValue方法

4. NSTimer計時器

使用實例代碼如下:

// 第一個參數(shù):多長時間會觸發(fā)一次欠啤,以秒為單位// 第二個參數(shù):如果看到函數(shù)的參數(shù)有target,一般情況下屋灌,都用self// 第三個參數(shù):SEL洁段,需要調用其他的方法,就是每次時鐘被觸發(fā)的時候共郭,去執(zhí)行的方法// 最多可以帶一個參數(shù)祠丝,就是時鐘本身// 第四個參數(shù),暫時不用考慮除嘹,設置成nil// 第五個參數(shù):是否重復写半,通常會設置YES_gameTimer = [NSTimerscheduledTimerWithTimeInterval:1.0f target:selfselector:@selector(updateTimer:) userInfo:nilrepeats:YES];

a.在時鐘觸發(fā)方法中,可以使用sender.fireDate獲取到時鐘被觸發(fā)的時間

b.注意:使用NSTimer的時候尉咕,千萬不要忘記調用invalidate方法關閉時鐘叠蝇。

c.NSTimer可能不會是及時相應觸發(fā)時間的,它的執(zhí)行優(yōu)先級相對較低龙考,因此蟆肆,不要使用NSTimer去做實時響應需求較高的周期性操作。

3. 把圖片做成圓形圖標

self.headIconImageView= [[UIImageViewalloc] initWithFrame:CGRectMake(10,10,40,40)] ;self.headIconImageView.layer.cornerRadius=20;// 設置半徑 self.headIconImageView.layer.masksToBounds=YES;// 邊界是否允許截取

2.根據(jù)UILabel里的內容自適應高度

NSString*contentString = [dic objectForKey:@"content"] ;//從字典中提取字符串CGRectrect = [contentString boundingRectWithSize:CGSizeMake(tableView.bounds.size.width, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin|NSStringDrawingUsesFontLeadingattributes:@{NSFontAttributeName:[UIFontsystemFontOfSize:15]} context:nil] ;// 內容的自適應高度方法*? @paramCGSize規(guī)定文本顯示的最大范圍? ? ? ? @param options 按照何種設置來計算范圍? ? ? ? @param attributes 文本內容的一些屬性,例如字體大小,字體類型等? (字體不一樣,高度也不一樣)? ? ? ? @parma context 上下文 可以規(guī)定一些其他的設置 但是一般都是nil*/// 枚舉值中的 " | "? 意思是要滿足所有的枚舉值設置.

1.根據(jù)漢字字符串獲取該字符串的拼音然后取得首字母

分享資源? ? 漢字轉換為 拼音 獲取首字母//獲取拼音首字母(傳入漢字字符串, 返回大寫拼音首字母)/*

- (NSString *)firstCharactor:(NSString *)aString

{

? ? //轉成了可變字符串

? ? NSMutableString *str = [NSMutableString stringWithString:aString];

? ? //先轉換為帶聲調的拼音

? ? CFStringTransform((CFMutableStringRef)str,NULL, kCFStringTransformMandarinLatin,NO);

? ? //再轉換為不帶聲調的拼音

? ? CFStringTransform((CFMutableStringRef)str,NULL, kCFStringTransformStripDiacritics,NO);

? ? //轉化為大寫拼音

? ? NSString *pinYin = [str capitalizedString];

? ? //獲取并返回首字母

? ? return [pinYin substringToIndex:1];

}

*/NSString*string =@"簡書";if([string length])? ? ? ? {NSMutableString*mutableString = [NSMutableStringstringWithString:string] ;/**

? ? ? ? ? ? *? 由于此方法是在coreFoundation框架下,咱們平時所使用的類型都是Foundation框架下的,所以需要轉換類型.

? ? ? ? ? ? *

? ? ? ? ? ? *? @param string#>? ? string 所需要轉換的原字符#>

? ? ? ? ? ? *? @param range#>? ? range 所需要轉換字符的范圍.如果為0或者是NULL意思是所有字符都轉換#>

? ? ? ? ? ? *? @param transform#> transform 轉換方式#>

? ? ? ? ? ? *? @param reverse#>? reverse 如果為YES,返回原字符串;如果為NO,返回轉換之后的字符串#>

? ? ? ? ? ? *

? ? ? ? ? ? *? @return return value description

? ? ? ? ? ? */// 將所有非英文的字符轉換為拉丁字母,并且?guī)曊{和重音標識// __bridge :只改變當前對象的類型,但是不改變對象內存的管理權限CFStringTransform((__bridgeCFMutableStringRef)mutableString ,0,kCFStringTransformToLatin,NO) ;// 去掉聲調CFStringTransform((__bridgeCFMutableStringRef)mutableString ,0,kCFStringTransformStripDiacritics,NO) ;// 每個單詞的首字母大寫 后再截取字符串NSString*str = [[mutableString capitalizedString] substringToIndex:1];? ? ? ? }

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末晦款,一起剝皮案震驚了整個濱河市炎功,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌缓溅,老刑警劉巖蛇损,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異坛怪,居然都是意外死亡淤齐,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門袜匿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來更啄,“玉大人,你說我怎么就攤上這事居灯〖牢瘢” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵怪嫌,是天一觀的道長义锥。 經(jīng)常有香客問我,道長岩灭,這世上最難降的妖魔是什么拌倍? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上柱恤,老公的妹妹穿的比我還像新娘数初。我一直安慰自己,他們只是感情好梗顺,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布妙真。 她就那樣靜靜地躺著,像睡著了一般荚守。 火紅的嫁衣襯著肌膚如雪珍德。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天矗漾,我揣著相機與錄音锈候,去河邊找鬼。 笑死敞贡,一個胖子當著我的面吹牛泵琳,可吹牛的內容都是我干的。 我是一名探鬼主播誊役,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼获列,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了蛔垢?” 一聲冷哼從身側響起击孩,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鹏漆,沒想到半個月后巩梢,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡艺玲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年括蝠,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饭聚。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡忌警,死狀恐怖,靈堂內的尸體忽然破棺而出秒梳,到底是詐尸還是另有隱情法绵,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布端幼,位于F島的核電站礼烈,受9級特大地震影響弧满,放射性物質發(fā)生泄漏婆跑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一庭呜、第九天 我趴在偏房一處隱蔽的房頂上張望滑进。 院中可真熱鬧,春花似錦、人聲如沸梭灿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽节槐。三九已至搀庶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間铜异,已是汗流浹背哥倔。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留揍庄,地道東北人咆蒿。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像蚂子,于是被迫代替她去往敵國和親沃测。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內容

  • 1.nav1.navigationBar.barStyle=UIBarStyleBlack; //改變導航欄背景顏...
    SadMine閱讀 1,554評論 1 4
  • *7月8日上午 N:Block :跟一個函數(shù)塊差不多食茎,會對里面所有的內容的引用計數(shù)+1蒂破,想要解決就用__block...
    炙冰閱讀 2,473評論 1 14
  • { 24、Sqlite數(shù)據(jù)庫 1别渔、存儲大數(shù)據(jù)量寞蚌,增刪改查,常見管理系統(tǒng):Oracle钠糊、MSSQLServer挟秤、DB...
    CYC666閱讀 929評論 0 1
  • 在歷史名城長沙的岳麓山下,古木參天抄伍,濃蔭蔽日艘刚,山光水色,在滾滾波濤的湘江西岸有一片典雅截珍,莊重的古建筑群攀甚,這就是為世...
    胡楊公主閱讀 2,680評論 15 20
  • 對不起當我失去了珍視的人之后當所有人都離開只留下我孤身一人之后我感到太抱歉了對不起
    大胡子豬閱讀 168評論 0 3