背景:项目要求用户可以创建,编辑,删除,分享日记和心情,同时可以追踪日记和心情。
不敢相信 我竟然做完了,在复习阶段,我终于发现我之前为什么对这个作业一筹莫展了,因为我没学lecture o(╥﹏╥)o 发现很多东西其实都讲了。。。。。哎 就当吸取这次教训吧 以后还是不要逃课了:
项目:https://github.com/yinzixie/Simple-Journal
在开始之前我必须假设你已经有了对swift xcode 一定的基础,基础的关联ui ,MySQLite数据库的操作。
做好了项目的Prototype,写好的报告(对我已经写好了,坑逼作业只写代码不好吗!!!)
来,让我们抛开所有学到的理论,写啥核心啊,什么程序逻辑啊,我才不管呢。我就是要从UI开始做起。
恩,看着我设计的模板,我陷入了沉思:
底下切换按钮是怎么实现的呢?我只学过button,navigation之类的,这tm的难道是用button写的吗??
不废话,经过百度我发现了有一个叫tabBar的控件,于是又经过一番摸索,找到了一个教学视频:
https://www.youtube.com/watch?v=n7NNAdaIDKQ
再见不送。自己看去吧。
重点是千万不要直接把一个tabbar拖进view,因为之后我就不会做了,大神请忽略,小白怎么做,怎么搞切换?不用担心,拖进来一个tabbarcontroller直接搞定,都预设好了。详情请看youtube教程。
yeah做好了tabbar,怎么做那个tabbar突出的部分呢?
千万不要百度,千百度之后拿着一堆过时的代码,或者根本看不懂的代码就哭吧,请右上角谷歌走起。小白用词不准搜了几天没搜出来,无奈之下问了老师:如下链接走起:
https://stackoverflow.com/questions/42477440/swift-3-how-do-i-create-a-prominent-button-on-a-tab-bar-e-g-camera-button
做好了中间的button,那么如何disable掉中间的tabbariteam呢:
//disable centre tabbar item
if let arrayOfTabBarItems = self.tabBar.items as AnyObject as? NSArray,let
tabBarItem = arrayOfTabBarItems[2] as? UITabBarItem {
tabBarItem.isEnabled = false
}
中间那个数组什么意思不用我说了吧。放在哪里也不用我说了吧。初始化的时候用。
ok 如何自定义table呢?这里的坑很大,继续链接走起:
https://www.youtube.com/watch?v=FtO5QT2D_H8
这个要记得给table设置source data 和delegate 在视频中都有讲到
做好table,随便放点数据,发现和背景的白色完全同为一体了,有点不好看,决定增加一个table的边框,顺便设置下背景颜色
如下是设置cell的边框,原理一样。
Swift - UIView,UItableView,Cell设置边框方法
// 设置边框的宽度
cell.layer.borderWidth = 1
// 设置边框的颜色
cell.layer.borderColor = UIColor.blackColor().CGColor
// 设置UIView的边框为圆角和展现
cell.layer.cornerRadius = 10
//自动遮罩不可见区域,超出的不显示
cell.layer.masksToBounds = true
cell.backgroundColor = UIColor.