加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift纯代码实现UITableview总结一

发布时间:2020-12-14 01:32:07 所属栏目:百科 来源:网络整理
导读:在swift中没有了宏定义这个概念,所以在获取屏幕宽高时,可以设置其为常量 let SRC_WIDTH = UIScreen . mainScreen (). bounds . width let SRC_HEIGHT = UIScreen . mainScreen (). bounds . height swfit创建UITableView和OC中差不多,主要是语法发生了改

在swift中没有了宏定义这个概念,所以在获取屏幕宽高时,可以设置其为常量

let SRC_WIDTH =UIScreen.mainScreen().bounds.width

let SRC_HEIGHT =UIScreen.mainScreen().bounds.height

swfit创建UITableView和OC中差不多,主要是语法发生了改变的,还有一点就是拆解包问题,不过一般编译器会给出提示

你要实现UiTableView,肯定就少不了要实现它的相关代理方法,在swift中不需要尖括号,只需要在继承的类后面用逗号隔开就可以来,如下所示:

class TableViewController:UIViewController,UITableViewDataSource,UITableViewDelegate{},这是系统会报错,不用管,因为你还没有实现它的代理和协议的;

声明UITableView

var tableView: UITableView?

在初始化UITableView,如下:

    /**
     *  创建UITableView
     */
    func tableViewTest() -> UITableView{
        
        if tableView == nil{
            tableView = UITableView(frame: CGRectMake(0,SRC_WIDTH,SRC_HEIGHT),style: UITableViewStyle.Plain)
            tableView?.delegate = self
            tableView?.dataSource = self
            tableView?.showsHorizontalScrollIndicator = false
            tableView?.showsVerticalScrollIndicator = false
            tableView?.bounces = false
            tableView?.tableFooterView = UIView(frame: CGRectMake(0,0))<span style="white-space:pre">	</span>//去除多余的下划线
        }
       
        return tableView!
    }

UITableView已经创建好了,接下来的就是要实现它的数据源方法的:

分别是:

//返回cell的显示的数据

func tableView(tableView:UITableView,cellForRowAtIndexPath indexPath:NSIndexPath) ->UITableViewCell{}

//返回当前的Section中row行数

func tableView(tableView:UITableView,numberOfRowsInSection section:Int) -> Int{}

//返回当前几个Section

func numberOfSectionsInTableView(tableView:UITableView) ->Int{}

//选中时方法

func tableView(tableView:UITableView,didSelectRowAtIndexPath indexPath:NSIndexPath){}

显示数据源方法如下:

    func tableView(tableView: UITableView,cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        
        var cell = tableView.dequeueReusableCellWithIdentifier("CELL")
        
        if cell == nil {
            cell = UITableViewCell(style: .Default,reuseIdentifier: "CELL")
        }
        cell!.selectionStyle = UITableViewCellSelectionStyle.None
        cell!.textLabel?.text = items![indexPath.row] as? String
        
        return cell!
    }


效果图如下所示

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读