swift表格控件使用方法详解(uitableview)-kb88凯时官网登录

来自:网络
时间:2023-07-25
阅读:

本文实例为大家分享了swift表格控件的简单使用,供大家参考,具体内容如下

1、效果图

swift表格控件使用方法详解(uitableview)

2、该控件(uitableview) 代码注意的地方:

a、viewcontroller 不单单继承于 uiviewcontroller,还有 uitableviewdelegate,uitableviewdatasource。

b、要自己重新实现uitableview的3个方法。分别是:numberofsectionintableview(table:uitableview), tableview(table:uitableview, numberofrowsinsetion section:int), tableview(tableview: uitableview, cellforrowatindexpath indexpath: nsindexpath)

3、我使用的xcode版本:7.2;

4、完整 源码

import uikit
class viewcontroller: uiviewcontroller, uitableviewdelegate,uitableviewdatasource{
    
    let ctrlname = ["按钮", "标签", "文本框", "提示框", "开关按钮"];
    var tableview:uitableview?;
    
    override func loadview() {
        super.loadview();
    }
    
    override func viewdidload() {
        super.viewdidload()
        
        /// 创建视图
        tableview = uitableview(frame: view.frame, style: .plain);
        tableview!.datasource = self;
        tableview!.delegate = self;
        
        tableview?.registerclass(uitableviewcell.self, forcellreuseidentifier: "swiftcell");
        view.addsubview(tableview!);
        
        
        /// 创建标签
        let headerlabel = uilabel(frame: cgrectmake(0, 0, view.bounds.size
            .width, 30));
        /// 设置标签属性
        headerlabel.backgroundcolor = uicolor.blackcolor();
        headerlabel.textcolor = uicolor.whitecolor();
        headerlabel.numberoflines = 0;
        headerlabel.linebreakmode = nslinebreakmode.bywordwrapping;
        headerlabel.text = "常见uikit控件";
        headerlabel.font = uifont.italicsystemfontofsize(20);
        
        /// 在tableview的顶部添加该label
        tableview!.tableheaderview = headerlabel;
    }
    /// 设置分区
    func numberofsectionsintableview(tableview: uitableview) -> int {
        return 1;
    }
    
    /// 返回表格行数
    func tableview(tableview: uitableview, numberofrowsinsection section: int) -> int {
        return ctrlname.count;
    }
    
    /// 创建单元格显示内容,(创建indexpath指定的单元)
    func tableview(tableview: uitableview, cellforrowatindexpath indexpath: nsindexpath) -> uitableviewcell {
        
        /// 为了提高表格显示性能,以创建完成的单元重复使用
        let identify = "swiftcell";
        /// 同一形式的单元格重复使用,在声明时已注册
        let cell = tableview.dequeuereusablecellwithidentifier(identify, forindexpath: indexpath);
        cell.accessorytype = uitableviewcellaccessorytype.disclosureindicator;
        cell.textlabel?.text = ctrlname[indexpath.row];
        
        return cell;
    }
    
    /// uitableviewdelegate方法,处理列表项选中事件
    func tableview(tableview: uitableview, didselectrowatindexpath indexpath: nsindexpath) {
        
        tableview.deselectrowatindexpath(indexpath, animated: true);
        let itemstring = ctrlname[indexpath.row];
        
        /// 创建提示框
        let alertview = uialertcontroller(title: "提示", message: "你选中了\(itemstring)", preferredstyle: .alert);
        /// 向提示框中增加按钮
        let alertaction = uialertaction(title: "确定", style: uialertactionstyle.default, handler: {(action)->void in});
        alertview.addaction(alertaction);
        
        presentviewcontroller(alertview, animated:true, completion:nil);
    }
    
    
    
    override func didreceivememorywarning() {
        super.didreceivememorywarning()
        // dispose of any resources that can be recreated.
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

返回顶部
顶部
网站地图