上午
- 建立一个新工程,并大致分类一下,并使用cocoapods导入一些需要用到的第三方库
- 我导入了目前觉得能用到的第三方库
- 由于平时都不在一台mac上写,虽然可以用U盘复制项目,总觉得不爽,打算用git或者svn来做版本控制,讲解一下今天上午的坎坷之路
- git之路,以前装过git,但是由于全是命令行,当时也没去研究,今天上午弄了一下,感觉对于刚使用git的人来说,确实不亲民啊,折腾了1小时虽然弄出来了,但总觉得有点装逼的感觉,个人比较喜欢图形化界面,本来就不是大神,没必要装大神用小黑窗嘛!😄
- svn之路,因为以前使用过svn,觉得svn的图形化界面很容易上手,像我这种小白都能快速的上手。以前都是在本机搭建的svn服务器,然后局域网可以访问,这次打算使用一下在线的svn,刚开始本打算在阿里云买个服务器搭建,后来发现太奢侈了,最后发现阿里有免费的啊,顿时高兴了,立马注册了一个,建立项目,上传工程,搞定,测试了一下,速度还可以,总算看到了图形化界面,可以动手开始了!
- 说一下我用的svn软件是Cornerstone,以前用过Versions,但是好像是因为破解不完全(买不起正版,别吐槽),所以会发生闪退等很多问题,导致投入了Cornerstone的怀抱,反正我看来Cornerstone比Versions好用多了.
- 就这样,一上午就过去了!
下午
写这个TabBar我这样写的
- 我将图片和文字信息都写成了plist文件方便后面修改,仔细想想好像有点过于封装了.
- 注意点(懒加载注意点)
- 错误写法(因为写成self就造成循环调用而崩溃)
- (NSArray *)tabBarPlistArray { if (self.tabBarPlistArray) { NSString *path = [[NSBundle mainBundle] pathForResource:TabBarPlist ofType:nil]; self.tabBarPlistArray = [NSArray arrayWithContentsOfFile:path]; } return self.tabBarPlistArray; }
- 正确写法
/** * 懒加载TaBbar的plist文件信息(一定要注意,这里不能写self.tabBarPlistArray) */ - (NSArray *)tabBarPlistArray { if (!_tabBarPlistArray) { NSString *path = [[NSBundle mainBundle] pathForResource:TabBarPlist ofType:nil]; _tabBarPlistArray = [NSArray arrayWithContentsOfFile:path]; } return _tabBarPlistArray; }
设置item的图片的时候,第一次显示出来是蓝色的图片,是系统默认改为了蓝色,需要设置一下属性
//设置显示真实图片,而不是系统默认蓝色图片,不设置这个属性,会导致加载出来的图片是蓝色 self.image = [self.image imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; self.selectedImage = [self.selectedImage imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
Title的Logo
- 如果直接这样写的话,加载出来的效果就是这样的(错误)
/** * 设置Logo(百思不得姐) */ - (void)setTitleImage { UIImageView *titleImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300, 200)]; titleImage.image = GetImage(@"MainTitle"); [self.navigationItem setTitleView:titleImage]; }
- 正确写法,将ImageView的Model设置成Center即可
/** * 设置Logo(百思不得姐) */ - (void)setTitleImage { UIImageView *titleImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 300, 200)]; titleImage.image = GetImage(@"MainTitle"); titleImage.contentMode = UIViewContentModeCenter; [self.navigationItem setTitleView:titleImage]; }
- 就正常了