iOS备忘录

创建一个objective-c file , 可以选择 category, extension ,protocol, empty 文件。选category 就能建立分类

若要创建.pch , 在other里选择 PCH file,并需要修改一下设置。在build settings 里设置 Precompile Prefix Header的值为YES,并设置Prefix Header的路径。$(SRCROOT)/pch文件名.pch

更改项目名http://www.jianshu.com/p/5f088acecf64

delegate原先写法:[self.linkMposDelegate mposStartOpen];
不一定delegate要实现所有方法,也不一定delegate实现了要实现的方法

1
2
3
if ([self.linkMposDelegate respondsToSelector:@selector(mposStartOpen)]) {
[self.linkMposDelegate mposStartOpen];
}

输出宏定义
强化版可看到时间,类,调用的方法,行数

#ifdef DEBUG 
#define NSLog(FORMAT, ...) fprintf(stderr,"%s:%d\t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(...) {};
#endif

简化版文件名,行数

#define  NSLog(FORMAT, ...) fprintf(stderr,"%s:%d\t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], 

recursiveDescription 查看视图层次
CFGetRetainCount((__bridge CFTypeRef)(obj)) 查看retainCount

如果要统计ios开发代码,包括头文件的,终端命令进入项目目录下,命令如下

1
find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" \|xargs wc -l

列出每个文件的行数

1
find . -name "*.m" -or -name "*.h" -or -name "*.xib" -or -name "*.c" \|xargs grep -v "^$"\|wc -l

列出代码行数总和
grep -v “^$”是去掉空行
注释也统计在代码量之内,毕竟也一个字一个字码出来的

self.navigationItem. leftBarButtonItems从左数,self.navigationItem. rightBarButtonItems从右数
[1,2]              [4,3]这样排放的

不黑屏

1
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];

设置系统屏幕亮度

1
[UIScreen mainScreen].brightness = 0.5;

新项目测试,需要请求一下位置权限或者通知权限,才可以跳进自己的app设置里面,如果没有任何权限请求,就只能跳到系统的设置界面

1
2
NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
[[UIApplication sharedApplication] openURL:url];

修改图片颜色

1
2
3
4
UIImage *image = [UIImage imageWithContentsOfFile:[myBundle pathForResource:@"cz_more" ofType:@"png"]];
image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
[rightBarBtn setImage:image forState:UIControlStateNormal];
rightBarBtn.tintColor = [UIColor colorWithRed:80/255.0 green:80/255.0 blue:80/255.0 alpha:1];

用图片做背景色

1
2
UIColor *bgColor = [UIColor colorWithPatternImage:viewImage];
[view setBackgroundColor:bgColor];

结束textField

1
[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];

格式化输出

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
NSInteger integer = 1;
NSLog(@"first number: %zd", integer);
NSUInteger uinteger = 1;
NSLog(@"second number: %tu", uinteger
%@     对象
%d, %i 整数
%u     无符整形
%f     浮点/双字
%x, %X 二进制整数
%o     八进制整数
%zu    size_t
%p     指针
%e     浮点/双字 (科学计算)
%g     浮点/双字
%s     C 字符串
%.*s   Pascal字符串
%c     字符
%C     unichar
%lld   64位长整数(long long)
%llu   无符64位长整数
%Lf    64位双字
%e 是实数,用科学计数法计的

NSMutableAttributedString

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//设置字符串的显示属性
NSDictionary *attrDic = @{NSFontAttributeName:[UIFont systemFontOfSize:18],NSForegroundColorAttributeName:[UIColor greenColor]};
//根据设定的最大宽度或者高度,来计算字符串需要占用空间大小
//size 代表字符串被允许显示的范围
//optins 默认这么写
CGRect strRect = [str boundingRectWithSize:CGSizeMake(MAXFLOAT, MAXFLOAT) options:NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesFontLeading|NSStringDrawingUsesLineFragmentOrigin attributes:attrDic context:nil];

//在制定的区域内 画文字
[str drawInRect:CGRectMake(30, 20, strRect.size.width, strRect.size.height) withAttributes:attrDic];

//图文混排
- (void)setupTextView {
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:@"哈哈123456"];
// 设置“哈哈”为蓝色
[string addAttribute:NSForegroundColorAttributeName value:[UIColor blueColor] range:NSMakeRange(0, 2)];
[string addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:30] range:NSMakeRange(0, 2)];
[string addAttribute:NSBackgroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(0, 2)];

// 设置“456”为红色
[string addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:NSMakeRange(6, 2)];
[string addAttribute:NSFontAttributeName value:[UIFont boldSystemFontOfSize:24] range:NSMakeRange(6, 2)];
[string addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:NSMakeRange(6, 2)];

// 创建图片图片附件
NSTextAttachment *attach = [[NSTextAttachment alloc] init];
attach.image = [UIImage imageNamed:@"d_aini"];
attach.bounds = CGRectMake(0, 0, 15, 15);
NSAttributedString *attachString = [NSAttributedString attributedStringWithAttachment:attach];

[string appendAttributedString:attachString];
[string appendAttributedString:[[NSAttributedString alloc] initWithString:@"789"]];
self.textView.attributedText = string;
}