1. Xcode左边导航栏中,类文件后面的标记"A""M""?"符号的含义
M = Locally modified 文件已被修改
U = Updated in repository
A = Locally added 新添加文件
D = Locally deleted 已删除文件
I = Ignored 忽略
R = Replaced in the respository 替代文件
C 文件与服务器的文件冲突
? 新添加文件,但是脱离了SVN管理,需要source control--add--commit
! 文件丢失,一般是将受控文件直接删除导致
...
这些标记是使用代码托管工具或者Xcode自带的SVN代码托管工具有关
source control--commit selected file
2 给类添加前缀
3 图片渲染--UIImageRenderingMode
在创建UITabBarItem的方法的同时新增了UIImageRenderingMode属性
typedef NS_ENUM(NSInteger, UIImageRenderingMode) { UIImageRenderingModeAutomatic, // 根据图片的使用环境和所处的绘图上下文自动调整渲染模式(默认) UIImageRenderingModeAlwaysOriginal, // 始终绘制图片原始状态,不适用TintColor UIImageRenderingModeAlwaysTemplate, // 始终根据TintColor绘制图片,忽略图片的颜色信息
UIImage *image = [UIImage imageNamed:@"test"]; image = [image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; UITabBarItem *item = [[UITabBarItem alloc] initWithTitle:@"Test" image:[UIImage imageNamed:@"test"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] selectedImage:[[UIImage imageNamed:@"test"]imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal ]];
4 统一设置样式--UI_APPEARENCE_SELECTOR
若某个控件的属性后面有下面的宏: UIEdgeInsets contentEdgeInsetsUI_APPEARANCE_SELECTOR,此时可以通过[[UIButton appearance]setContentEdgeInsets:UIEdgeInsetsMake(0, 10, 0, 0)];来修改这个属性,但是一旦修改,则程序中所有此类控件的属性就会变成这个值
5 随机数--arc4random_uniform()
随即返回一个0到上界之间(不含上界)的整数
6 设置button的中心点
button.center = CGPointMake(10, 10);
7 试图布局结束后再布局一次--viewDidLayoutSubview
8 布局子控件--layoutSubviews
9 获得子控件--self.__.subviews
10 扩展类--EXtension
若已经封装好一个类(包括系统类和第三方库),不想重新改动,可是随着程序功能的增加需要在类中增加一个方法,这是不必修改主类,只需要给原来的类添加一个扩展类
11 获得图片尺寸--currentImage
12 使用NSLog进行调试
#ifdef DEBUG #define BSLog(...) NSLog(__VA_ARGS__) #else #define BSLog(...) #endif
invalid preprocessing directive非法的预处理命令
13 打印出调用的方法--%s__func__
NSLog(@"%s",__func__)
14 self.title
在控制器中同时存在NacigationItem和TabBarItem时,self.title指的是前面所有的title属性
15 当cell的select为None时,即使cell被选中,内部的所有控件都不进入高亮状态
16 监听cell的选中和取消选中--setSelected