tableview使用自定义类,页面跳转,本地存储
来源:互联网 发布:驱动管理软件 知乎 编辑:程序博客网 时间:2024/06/13 12:41
0 说明
在本文中,介绍了在xcode的使用tableview的自定义cell,里面还穿插了导航栏的使用,页面的跳转以及本地存储的实现
最后大家可以在下载demo
http://download.csdn.net/detail/wtt561111/9171107
1因为涉及到导航栏的使用,所以需要现在修改appDelegate文件。如图,添加下面的三行代码
2下面创建自己的cell,新建一个swift文件,命名为TableViewCell
import UIKitclass ViewController: UIViewController, UITableViewDataSource, UITableViewDelegate { var table:UITableView! var array = ["item1","item2","item3","item4","item5","item6","item7"] override func viewDidLoad() { super.viewDidLoad() title = "FirstApp" var view: UIView = UIView(frame: self.view.frame) view.backgroundColor = UIColor.whiteColor() self.view.addSubview(view) var leftButton:UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Edit, target: self, action:"leftCall:") self.navigationItem.leftBarButtonItem = leftButton var rightButton:UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Add, target: self, action: "rightCall:") self.navigationItem.rightBarButtonItem = rightButton var rect = self.view.frame rect.origin.y += 65 table = UITableView(frame: rect) table.registerClass(TableViewCell.self, forCellReuseIdentifier: "cell") self.view.addSubview(table) table.delegate = self table.dataSource = self } func numberOfSectionsInTableView(tableView: UITableView) -> Int { return 1 } func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat { return 60 } func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return array.count } func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { var str:String = "cell" var cell:TableViewCell = tableView.dequeueReusableCellWithIdentifier(str, forIndexPath: indexPath) as! TableViewCell if cell.isEqual(nil) { cell = TableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: str) } cell.title.text = array[indexPath.row] cell.clickBtn.tag = indexPath.row cell.clickBtn.removeTarget(self, action: "tableViewCellClicked:", forControlEvents: UIControlEvents.TouchUpInside) cell.clickBtn.addTarget(self, action: "tableViewCellClicked:", forControlEvents: UIControlEvents.TouchUpInside) return cell } func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath) { if editingStyle == UITableViewCellEditingStyle.Delete { array.removeAtIndex(indexPath.row) table.reloadData() } } func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { println("clicked at \(indexPath.row)") } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func leftCall(sender:AnyObject) { table.setEditing(!table.editing, animated: true) var btn:UIBarButtonItem = sender as! UIBarButtonItem btn.title = "Done" println("leftButton pressed") } func rightCall(sender:AnyObject) { array.append("新建cell") table.reloadData() println("rightButton pressed") var myPara1="this is my para1"; NSUserDefaults.standardUserDefaults().setValue(myPara1, forKey: "para1"); var myPara2="this is my para2"; NSUserDefaults.standardUserDefaults().setValue(myPara2, forKey: "para2"); NSUserDefaults.standardUserDefaults().synchronize(); self.navigationController?.pushViewController(PushTest(), animated: true) } func tableViewCellClicked(sender:AnyObject) { println("tableViewCell appButton at \((sender as! UIButton).tag) clicked") }}
3因为还要考虑到界面的跳转,需要新建swift文件 PushTest
//// PushTest.swift// TableViewWithMyselfCell//// Created by wangtuntun on 15/10/10.// Copyright (c) 2015年 wangtuntun. All rights reserved.//import Foundationimport UIKitclass PushTest:UIViewController{ override func viewDidLoad() { println("this is push test"); var para1Get:String = NSUserDefaults.standardUserDefaults().valueForKey("para1") as! String; var para2Get:String = NSUserDefaults.standardUserDefaults().valueForKey("para2") as! String; println(para1Get); println(para2Get); } override func didReceiveMemoryWarning() { }}
0 0
- tableview使用自定义类,页面跳转,本地存储
- Storyboard使用TableView进行页面跳转传值
- vue.js 页面跳转传值 localStorage本地存储
- iOS 使用tableview,实现两个页面跳转及使用协议时错误记录
- 如何自定义跳转页面
- <a href 跳转本地页面
- Maven 进阶---自定义工具类,在本地仓库存储并使用 jar
- NSIS自定义页面的跳转
- 使用action页面跳转
- JSP错误页面跳转自定义页面设置
- 用localstorage本地存储,保存滚动条的高度下次打开页面直接跳转到滚动条处
- 使用自定义的tableViewCell- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NS
- IOS Tableview使用xib自定义cell
- 6.26 iOS开发自定义tableView使用
- struts2抛出异常自定义跳转页面
- Nutz - Controller层,自定义跳转页面
- struts2抛出异常自定义跳转页面
- nginx 404 跳转到自定义的页面
- Apache Tomcat 8.0.9下载、安装、配置和部署(不是最新版本)
- Core Animation
- iptables 学习
- 10001---Trail ~ Preparation
- Android 使用Notification自定义通知栏显示
- tableview使用自定义类,页面跳转,本地存储
- 泛型定义在类和方法上
- 解析Json数据并通过Fragment填充到ViewPager中
- 英语语法 简单式的现在时间
- vim快速入门,转载自实验楼
- java面试题
- struts1和struts2的比较,以及struts2的重点介绍
- 求矩形与圆形的面积 JAVA
- LINUX 环境下源码方式安装mysql5.6