在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! }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。