欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

值得收藏的iOS開發(fā)常用代碼塊

 更新時間:2016年10月08日 14:04:30   作者:tylerzhang  
這篇文章主要為大家詳細(xì)介紹了iOS開發(fā)常用代碼塊,具有一定的參考價值,感興趣的小伙伴們可以參考一下

遍歷可變數(shù)組的同時刪除數(shù)組元素

NSMutableArray *copyArray = [NSMutableArray arrayWithArray:array];  
NSString *str1 = @“zhangsan”; 
for (AddressPerson *perName in copyArray) { 
  if ([[perName name] isEqualToString:str1]) { 
    [array removeObject:perName]; 
  } 
} 

獲取系統(tǒng)當(dāng)前語言

NSString *currentLanguage = [[NSLocale preferredLanguages] objectAtIndex:0];
NSLog(@"currentlanguage = %@",currentLanguage);

if ([currentLanguage containsString:@"zh-Hans"]) {
  NSLog(@"zh-Hans簡體中文");
}else if ([currentLanguage containsString:@"zh-Hant"]) {
  NSLog(@"zh-Hant繁體中文");
}

UITableView的Group樣式下頂部空白處理

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0.1)];
self.tableView.tableHeaderView = view;

UITableView的plain樣式下,取消區(qū)頭停滯效果

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
  CGFloat sectionHeaderHeight = sectionHead.height;
  if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView;.contentOffset.y>=0)
  {
    scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
  }
  else if(scrollView.contentOffset.y>=sectionHeaderHeight)
  {
    scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
  }
}

獲取某個view所在的控制器

- (UIViewController *)viewController
{
 UIViewController *viewController = nil; 
 UIResponder *next = self.nextResponder;
 while (next)
 {
  if ([next isKindOfClass:[UIViewController class]])
  {
   viewController = (UIViewController *)next;   
   break;  
  }  
  next = next.nextResponder; 
 } 
  return viewController;
}
 

兩種方法刪除NSUserDefaults所有記錄

//方法一
NSString *appDomain = [[NSBundle mainBundle] bundleIdentifier];
[[NSUserDefaults standardUserDefaults] removePersistentDomainForName:appDomain];


//方法二
- (void)resetDefaults
{
  NSUserDefaults * defs = [NSUserDefaults standardUserDefaults];
  NSDictionary * dict = [defs dictionaryRepresentation];
  for (id key in dict)
  {
    [defs removeObjectForKey:key];
  }
  [defs synchronize];
}

 

打印系統(tǒng)所有已注冊的字體名稱

void enumerateFonts()
{
  for(NSString *familyName in [UIFont familyNames])
  {
    NSLog(@"%@",familyName);        
    NSArray *fontNames = [UIFont fontNamesForFamilyName:familyName];    
    for(NSString *fontName in fontNames)
    {
      NSLog(@"\t|- %@",fontName);
    }
  }
}

獲取圖片某一點的顏色

- (UIColor*) getPixelColorAtLocation:(CGPoint)point inImage:(UIImage *)image
{

  UIColor* color = nil;
  CGImageRef inImage = image.CGImage;
  CGContextRef cgctx = [self createARGBBitmapContextFromImage:inImage];

  if (cgctx == NULL) {
    return nil; /* error */
  }
  size_t w = CGImageGetWidth(inImage);
  size_t h = CGImageGetHeight(inImage);
  CGRect rect = {{0,0},{w,h}};

  CGContextDrawImage(cgctx, rect, inImage);
  unsigned char* data = CGBitmapContextGetData (cgctx);
  if (data != NULL) {
    int offset = 4*((w*round(point.y))+round(point.x));
    int alpha = data[offset];
    int red = data[offset+1];
    int green = data[offset+2];
    int blue = data[offset+3];
    color = [UIColor colorWithRed:(red/255.0f) green:(green/255.0f) blue:
         (blue/255.0f) alpha:(alpha/255.0f)];
  }
  CGContextRelease(cgctx);
  if (data) {
    free(data);
  }
  return color;
}

字符串反轉(zhuǎn)

//第一種:
- (NSString *)reverseWordsInString:(NSString *)str
{  
  NSMutableString *newString = [[NSMutableString alloc] initWithCapacity:str.length];
  for (NSInteger i = str.length - 1; i >= 0 ; i --)
  {
    unichar ch = [str characterAtIndex:i];    
    [newString appendFormat:@"%c", ch];  
  }  
   return newString;
}

//第二種:
- (NSString*)reverseWordsInString:(NSString*)str
{  
   NSMutableString *reverString = [NSMutableString stringWithCapacity:str.length];  
   [str enumerateSubstringsInRange:NSMakeRange(0, str.length) options:NSStringEnumerationReverse | NSStringEnumerationByComposedCharacterSequences usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) { 
     [reverString appendString:substring];             
   }];  
   return reverString;
}

禁止鎖屏

//第一種
[UIApplication sharedApplication].idleTimerDisabled = YES;
//第二種
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];

 模態(tài)推出透明界面

UIViewController *vc = [[UIViewController alloc] init];
UINavigationController *na = [[UINavigationController alloc] initWithRootViewController:vc];

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.0)
{
   na.modalPresentationStyle = UIModalPresentationOverCurrentContext;
}
else
{
   self.modalPresentationStyle=UIModalPresentationCurrentContext;
}

[self presentViewController:na animated:YES completion:nil];

iOS跳轉(zhuǎn)到App Store下載應(yīng)用評分

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=APPID"]];
 

手動更改iOS狀態(tài)欄的顏色

- (void)setStatusBarBackgroundColor:(UIColor *)color
{
  UIView *statusBar = [[[UIApplication sharedApplication] valueForKey:@"statusBarWindow"] valueForKey:@"statusBar"];

  if ([statusBar respondsToSelector:@selector(setBackgroundColor:)])
  {
    statusBar.backgroundColor = color;  
  }
}

判斷當(dāng)前ViewController是push還是present的方式顯示

NSArray *viewcontrollers=self.navigationController.viewControllers;

if (viewcontrollers.count > 1)
{
  if ([viewcontrollers objectAtIndex:viewcontrollers.count - 1] == self)
  {
    //push方式
    [self.navigationController popViewControllerAnimated:YES];
  }
}
else
{
  //present方式
  [self dismissViewControllerAnimated:YES completion:nil];
}

 

獲取實際使用的LaunchImage圖片

- (NSString *)getLaunchImageName
{
  CGSize viewSize = self.window.bounds.size;
  // 豎屏  
  NSString *viewOrientation = @"Portrait"; 
  NSString *launchImageName = nil;  
  NSArray* imagesDict = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"];
  for (NSDictionary* dict in imagesDict)
  {
    CGSize imageSize = CGSizeFromString(dict[@"UILaunchImageSize"]);
    if (CGSizeEqualToSize(imageSize, viewSize) && [viewOrientation isEqualToString:dict[@"UILaunchImageOrientation"]])
    {
      launchImageName = dict[@"UILaunchImageName"];    
    }  
  }  
  return launchImageName;
}

iOS在當(dāng)前屏幕獲取第一響應(yīng)

UIWindow * keyWindow = [[UIApplication sharedApplication] keyWindow];
UIView * firstResponder = [keyWindow performSelector:@selector(firstResponder)];
 

判斷對象是否遵循了某協(xié)議

if ([self.selectedController conformsToProtocol:@protocol(RefreshPtotocol)])
{
   [self.selectedController performSelector:@selector(onTriggerRefresh)];
}
 

判斷view是不是指定視圖的子視圖
BOOL isView = [textView isDescendantOfView:self.view]; 

NSArray 快速求總和 最大值 最小值 和 平均值

NSArray *array = [NSArray arrayWithObjects:@"2.0", @"2.3", @"3.0", @"4.0", @"10", nil];
CGFloat sum = [[array valueForKeyPath:@"@sum.floatValue"] floatValue];
CGFloat avg = [[array valueForKeyPath:@"@avg.floatValue"] floatValue];
CGFloat max =[[array valueForKeyPath:@"@max.floatValue"] floatValue];
CGFloat min =[[array valueForKeyPath:@"@min.floatValue"] floatValue];
NSLog(@"%f\n%f\n%f\n%f",sum,avg,max,min);
 

修改UITextField中Placeholder的文字顏色
[textField setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor"]; 

獲取一個類的所有子類

+ (NSArray *) allSubclasses
{
  Class myClass = [self class];
  NSMutableArray *mySubclasses = [NSMutableArray array];
  unsigned int numOfClasses;
  Class *classes = objc_copyClassList(&numOfClasses;);
  for (unsigned int ci = 0; ci < numOfClasses; ci++)
  {
    Class superClass = classes[ci];
    do{
      superClass = class_getSuperclass(superClass);
    } while (superClass && superClass != myClass);

    if (superClass)
    {
      [mySubclasses addObject: classes[ci]];
    }
  }
  free(classes);
  return mySubclasses;
}

阿拉伯?dāng)?shù)字轉(zhuǎn)中文格式

+(NSString *)translation:(NSString *)arebic
{ 
  NSString *str = arebic;
  NSArray *arabic_numerals = @[@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"0"];
  NSArray *chinese_numerals = @[@"一",@"二",@"三",@"四",@"五",@"六",@"七",@"八",@"九",@"零"];
  NSArray *digits = @[@"個",@"十",@"百",@"千",@"萬",@"十",@"百",@"千",@"億",@"十",@"百",@"千",@"兆"];
  NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:chinese_numerals forKeys:arabic_numerals];

  NSMutableArray *sums = [NSMutableArray array];
  for (int i = 0; i < str.length; i ++) {
    NSString *substr = [str substringWithRange:NSMakeRange(i, 1)];
    NSString *a = [dictionary objectForKey:substr];
    NSString *b = digits[str.length -i-1];
    NSString *sum = [a stringByAppendingString:b];
    if ([a isEqualToString:chinese_numerals[9]])
    {
      if([b isEqualToString:digits[4]] || [b isEqualToString:digits[8]])
      {
        sum = b;
        if ([[sums lastObject] isEqualToString:chinese_numerals[9]])
        {
          [sums removeLastObject];
        }
      }else
      {
        sum = chinese_numerals[9];
      }

      if ([[sums lastObject] isEqualToString:sum])
      {
        continue;
      }
    }

    [sums addObject:sum];
  }

  NSString *sumStr = [sums componentsJoinedByString:@""];
  NSString *chinese = [sumStr substringToIndex:sumStr.length-1];
  NSLog(@"%@",str);
  NSLog(@"%@",chinese);
  return chinese;
}

 

取消UICollectionView的隱式動畫

//方法一
[UIView performWithoutAnimation:^{
  [collectionView reloadItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:index inSection:0]]];
}];

//方法二
[UIView animateWithDuration:0 animations:^{
  [collectionView performBatchUpdates:^{
    [collectionView reloadItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:index inSection:0]]];
  } completion:nil];
}];

//方法三
[UIView setAnimationsEnabled:NO];
[self.trackPanel performBatchUpdates:^{
  [collectionView reloadItemsAtIndexPaths:@[[NSIndexPath indexPathForItem:index inSection:0]]];
} completion:^(BOOL finished) {
  [UIView setAnimationsEnabled:YES];
}];

判斷郵箱格式是否正確的代碼

-(BOOL)isValidateEmail:(NSString *)email

  {

  NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";

  NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",emailRegex];

  return [emailTest evaluateWithObject:email];

  }

iOS中UITextField的字?jǐn)?shù)限制

//在viewDidLoad中注冊<UITextFieldTextDidChangeNotification>通知
[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(textFiledEditChanged:) 
     name:@"UITextFieldTextDidChangeNotification" object:myTextField];
//實現(xiàn)監(jiān)聽方法
#pragma mark - Notification Method
-(void)textFieldEditChanged:(NSNotification *)obj
{
  UITextField *textField = (UITextField *)obj.object;
  NSString *toBeString = textField.text;

  //獲取高亮部分
  UITextRange *selectedRange = [textField markedTextRange];
  UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:0];

  // 沒有高亮選擇的字,則對已輸入的文字進(jìn)行字?jǐn)?shù)統(tǒng)計和限制
  if (!position)
  {
    if (toBeString.length > MAX_STARWORDS_LENGTH)
    {
      NSRange rangeIndex = [toBeString rangeOfComposedCharacterSequenceAtIndex:MAX_STARWORDS_LENGTH];
      if (rangeIndex.length == 1)
      {
        textField.text = [toBeString substringToIndex:MAX_STARWORDS_LENGTH];
      }
      else
      {
        NSRange rangeRange = [toBeString rangeOfComposedCharacterSequencesForRange:NSMakeRange(0, MAX_STARWORDS_LENGTH)];
        textField.text = [toBeString substringWithRange:rangeRange];
      }
    }
  }
}

小伙伴們,今天就分享到這里,下期更精彩!

相關(guān)文章

  • 淺談關(guān)于如何檢測iOS14本地網(wǎng)絡(luò)權(quán)限的一些思路

    淺談關(guān)于如何檢測iOS14本地網(wǎng)絡(luò)權(quán)限的一些思路

    這篇文章主要介紹了淺談關(guān)于如何檢測iOS14本地網(wǎng)絡(luò)權(quán)限的一些思路,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • iOS開發(fā)之如何給View添加指定位置的邊框線詳解

    iOS開發(fā)之如何給View添加指定位置的邊框線詳解

    這篇文章主要給大家介紹了iOS開發(fā)之如何給View添加指定位置的邊框線的相關(guān)資料,給view加邊框很容易,重點是如何給指定邊框加邊框,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-10-10
  • iOS實現(xiàn)手勢滑動解鎖功能簡析

    iOS實現(xiàn)手勢滑動解鎖功能簡析

    本篇文章主要介紹了iOS實現(xiàn)手勢滑動解鎖功能簡析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • iOS圖片拉伸技巧小結(jié)

    iOS圖片拉伸技巧小結(jié)

    這篇文章主要為大家詳細(xì)介紹了iOS圖片拉伸的技巧,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-01-01
  • 總結(jié)iOS App開發(fā)中控制屏幕旋轉(zhuǎn)的幾種方式

    總結(jié)iOS App開發(fā)中控制屏幕旋轉(zhuǎn)的幾種方式

    這篇文章主要介紹了iOS app開發(fā)中控制屏幕旋轉(zhuǎn)的方法總結(jié),分為自動旋轉(zhuǎn)和手動旋轉(zhuǎn)以及強制旋轉(zhuǎn)三種情況,代碼為Objective-C語言,需要的朋友可以參考下
    2016-02-02
  • iOS報Multiple?commands?produceMultiple錯誤的解決方案

    iOS報Multiple?commands?produceMultiple錯誤的解決方案

    這篇文章主要為大家介紹了iOS報Multiple?commands?produceMultiple錯誤的解決方案,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-11-11
  • iOS如何定義名為任意的變量詳解

    iOS如何定義名為任意的變量詳解

    這篇文章主要給大家介紹了關(guān)于iOS如何定義名為任意的變量的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-05-05
  • IOS開發(fā)之路--C語言預(yù)處理

    IOS開發(fā)之路--C語言預(yù)處理

    由于預(yù)處理指令是在編譯之前就進(jìn)行了,因此很多時候它要比在程序運行時進(jìn)行操作效率高。在C語言中包括三類預(yù)處理指令,今天將一一介紹:宏定義、條件編譯、文件包含
    2014-08-08
  • IOS  AFNetworking的Post失敗及requestSerializer的正確使用

    IOS AFNetworking的Post失敗及requestSerializer的正確使用

    這篇文章主要介紹了IOS AFNetworking的Post失敗及requestSerializer的正確使用的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • 深入學(xué)習(xí)iOS7自定義導(dǎo)航轉(zhuǎn)場動畫

    深入學(xué)習(xí)iOS7自定義導(dǎo)航轉(zhuǎn)場動畫

    這篇文章主要為大家詳細(xì)介紹了iOS7自定義導(dǎo)航轉(zhuǎn)場動畫的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-02-02

最新評論