常用代码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 }
原文地址:https://www.cnblogs.com/lz465350/p/6229568.html