Swift编程

Swift 5.0 之 tableView

2019-11-29  本文已影响0人  北漂少年郎

作为一名iOS资深老鸟,咳,老菜鸟 ,想着swift.5 已趋于稳定,应该是到了入手swift的时候了, 正好公司需要加个小界面,小试牛刀

别人家的老婆

swift OC桥架一搭好,开始着手

自定义Cell   布局用的是SnapKit

自定义Cell

那个 required init? 自定义的时候是它自己蹦出来的,干嘛的小生不才,不知道撒

连个按钮的自定义

下面咱们来到 Controller 文件

tableview 的创建

这个基本和 OC 还是差不错的,底部那两行,是为Snakit做 cell 的高度自适应 

下面是tableView的 delegate和DataSource ,swift 很多delegate都以拓展的形势写出来,有人说,我就写Controller里不行吗,行,当然行,我为毛这么写,也是见很多人都这么写,没办法,第一个吃螃蟹的不是我,我啥能吃,我也不晓得

tableview 的 delegate DataSource

上图 delegate 没有 return row height  就是用了SnapKit ,别说,这玩意还挺好使

最后就是上拉加载 下拉刷新了,用的依旧是MJRefresh ,话说 swift版的JRefresh 用的很顺畅,因为项目已经有MJRefresh,再用JRefresh的时候,有很多莫名其妙的错误,就没有,本人垃圾,没解决,就只能随遇而安了

上拉,下拉用的很老套,哎,学海无涯呀

tableview 的上拉加载,下拉刷新

最后的界面是这样的

low low 的小界面

最后总结一下遇到的问题 

1 OC 引用不了swift里面的属性,都public了还引用不了,查资料得知

Swift属性和方法想让OC访问,前必须加@objc public ,当然 外访的类也是如此

2 swift 用不了 OC 的个别的宏定义 , 刚开始懵逼,后来脑袋转过来了,我宏是这么写的 

#define YDLightFont(x) [UIFont fontWithName:@"PingFangSC-Light"size:x]   

这明显是OC的语句,放 swift里让人家怎么办,怪不得识别不了,我这个扑街

3 最大的问题没解决,所以我就放弃了,就是本来我打算用RxSwift写的, 比拉个勾,不说,小生不是不才了,简直是垃圾了,整部了Rx,还得再修炼一下子

SnapKit 也是刚知道的,不过用的还挺好推荐一下

简书不常写,swift 也是刚入手,很多也是懵懵懂懂的,有指点的地方,或者不嫌弃一块学习的加V code03280318 ,备注一下简书就可以了,没事一块吃个鸡啥的

上一篇 下一篇

猜你喜欢

热点阅读