iOS-收集的不常用却实用的小方法和技巧

来源:互联网 发布:java 接收post文件 编辑:程序博客网 时间:2024/05/17 03:10

1.颜色转变成图片

- (UIImage *)createImageWithColor:(UIColor *)color{    CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);    UIGraphicsBeginImageContext(rect.size);    CGContextRef context = UIGraphicsGetCurrentContext();    CGContextSetFillColorWithColor(context, [color CGColor]);    CGContextFillRect(context, rect);    UIImage *theImage = UIGraphicsGetImageFromCurrentImageContext();    UIGraphicsEndImageContext();    return theImage;}

2.app评分跳转

-(void)goToAppStore{    NSString *str = [NSString stringWithFormat:                     @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=%d",547203890];    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]];}

3.获取当前系统语言环境

NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];NSArray *languages = [defs objectForKey:@"AppleLanguages"];NSString *preferredLang = [languages objectAtIndex:0];

4.计算字符串的高度

NSString *str = @"chuanzhang";NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc]init];paragraphStyle.lineBreakMode = NSLineBreakByWordWrapping;NSDictionary *dicAtt = [NSDictionary dictionaryWithObjectsAndKeys:[UIFont systemFontOfSize:15],NSFontAttributeName,paragraphStyle.copy,NSParagraphStyleAttributeName, nil];NSAttributedString *attribute = [[NSAttributedString alloc]initWithString:str attributes:dicAtt];CGRect frame = [attribute boundingRectWithSize:CGSizeMake(200, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin context:nil];

5.强行关闭app的方法

// 私有API[[UIApplication sharedApplication] performSelector:@selector(terminateWithSuccess)];// C语言方法exit(0);

6.如何快速的查看一段代码的执行时间

#define TICK   NSDate *startTime = [NSDate date]#define TOCK   NSLog(@"Time: %f", -[startTime timeIntervalSinceNow])// 在想要查看执行时间的代码的地方进行这么处理TICK//do your work hereTOCK

7.在使用view的缩放的时候,layer.border.width随着view的放大,会出现锯齿化的问题,解决这个问题需要设置这个属性。

self.layer.allowsEdgeAntialiasing = YES;

8.instrument中time profile 中的self, #self,%self各代表什么 ?


333.jpeg

下面引用了一下网上的具体内容

Self is "The number of times the symbol calls itself." according to the Apple Docs on the Time Profiler.

From the way the numbers look though, it seems self is the summed duration of samples that had this symbol at the bottom of its stack trace. That would make:

self: the number of samples where this symbol was at the bottom of the stack trace

% self: the percent of self samples relative to total samples of currently displayed call tree

(eg - #self / total samples).
So this wouldn't tell you how many times a method was called. But it would give you an idea how much time is spent in a method or lower in the call tree.

9.神器计算图片位置的函数:AVMakeRectWithAspectRatioInsideRect()
通过这个函数,我们可以计算一个图片放在另一个 view 按照一定的比例居中显示,可能说的我比较抽象,还是用图来显示,可以说它可以直接一个 image 以任何的比例显示显示在 imageview 中居中所处的位置,拿 UIViewContontAspectFit来演示

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 100, 300, 300)];imageView.center = self.view.center;imageView.backgroundColor = [UIColor redColor];imageView.contentMode = UIViewContentModeScaleAspectFit;UIImage *image = [UIImage imageNamed:@"mm.jpg"];imageView.image = image; CGRect iamgeAspectRect = AVMakeRectWithAspectRatioInsideRect(image.size, imageView.bounds);NSLog(@"iamgeAspectRect = %@, imageView =%@",NSStringFromCGRect(iamgeAspectRect),NSStringFromCGRect(imageView.frame));[self.view addSubview:imageView];
0 0
原创粉丝点击