一,计算 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)_timerAction10 {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 }