• 常用代码1


     

    一,计算 label 宽度

     1 - (CGFloat)getCurExpLabelBgWidth:(NSString *)str
     2 {
     3     str = ISSTRING(str) ? str : @"0";
     4     UILabel *label = [[UILabel alloc] init];
     5     CGFloat fontSize = 12 * kBigScreenViewWidthRate;
     6     label.font = [[PTVConfig instance] normalFont:fontSize];
     7     label.text = str;
     8     CGRect rect = [label textRectForBounds:CGRectMake(0, 0, MAXFLOAT, fontSize ) limitedToNumberOfLines:1];
     9     CGFloat length = rect.size.width;
    10     return length;
    11

     二,判断字符串中是否包含英文字母

    1 - (BOOL)isStringContainNumberWith:(NSString *)str {
    2     NSRegularExpression *numberRegular = [NSRegularExpression regularExpressionWithPattern:@"[A-Za-z]" options:NSRegularExpressionCaseInsensitive error:nil];
    3     NSInteger count = [numberRegular numberOfMatchesInString:str options:NSMatchingReportProgress range:NSMakeRange(0, str.length)];
    4     //count是str中包含[A-Za-z]数字的个数,只要count>0,说明str中包含数字
    5     if (count > 0) {
    6         return YES;
    7     }
    8     return NO;
    9 }

    三,从横屏跳转到竖屏

    1         if (!([PTVConfig instance].orotatemask == UIInterfaceOrientationMaskPortrait))
    2         {
    3             
    4             [PTVConfig instance].orotatemask = UIInterfaceOrientationMaskPortrait;
    5             [[PTVConfig instance] setOrientation:UIDeviceOrientationPortrait];
    6             [UIViewController attemptRotationToDeviceOrientation];
    7         }
    8         [GETVIEWCONTROLLERMGR pushLoginController:self.parentVc.navigationController];

     四,带秒表的定时器

     1 - (void)startPkTimer
     2 {
     3     _percens = 100;
     4     [self removeCountTimer];
     5     _timer = [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(_timerAction) userInfo:nil repeats:YES];
     6     [[NSRunLoop currentRunLoop] addTimer:_timer forMode:NSRunLoopCommonModes];
     7 }
     8 
     9 - (void)_timerAction
    10 {
    11     _percens -= 5 ;
    12     if(_percens <= 0){
    13         _countWownTimer -= 1;
    14         _percens = 100;
    15     }
    16     NSLog(@"lz465350===>%li---%li",(long)_countWownTimer,(long)_percens);
    17     if (_countWownTimer <= -1 ) {
    18         dispatch_async(dispatch_get_main_queue(), ^{
    19             if (self.timerFinished)
    20             {
    21                 self.timerFinished();
    22             }
    23             [self removeCountTimer];
    24         });
    25         return;
    26     } else {
    27         NSString *text = [self getTimerText:_countWownTimer percens:_percens];
    28         dispatch_async(dispatch_get_main_queue(), ^{
    29             self.text = text;
    30         });
    31     }
    32 }
  • 相关阅读:
    __declspec关键字详细用法
    【转载】前端面试“http全过程”将所有HTTP相关知识抛出来了...
    【转载】理解C语言中的关键字extern
    Linux应用环境实战
    【转载】深入解析连接点
    【转载】COM多线程原理与应用
    【转载】COM的多线程模型
    【转载】COM 连接点
    【转载】COM:IUnknown、IClassFactory、IDispatch
    101. Symmetric Tree
  • 原文地址:https://www.cnblogs.com/lz465350/p/6229568.html
Copyright © 2020-2023  润新知