济南网站建设0531soso,wordpress 自动推荐,新闻资讯网站怎么做,哪个网站做员工增员在iOS的开发过程中#xff0c;tableView的使用永远都是最常用的控件。今天学习了一下tableViewCell的操作。代码并不是很复杂#xff0c;如果有OC开发经验的人#xff0c;应该很容易看懂的。 class ViewController: UIViewController ,UITableViewDelegate, UITableViewData…在iOS的开发过程中tableView的使用永远都是最常用的控件。今天学习了一下tableViewCell的操作。代码并不是很复杂如果有OC开发经验的人应该很容易看懂的。 class ViewController: UIViewController ,UITableViewDelegate, UITableViewDataSource
{
// 因为Swift中要求变量或常量在声明时就要初始化其值所以我们在实际开发中声明变量或常量时使用可选类型。后面代码中使用到以上变量时需要加 ! 对其解包。var tableView : UITableView?
// var items :NSMutableArray?// 例如可以不用可选var items :NSMutableArray []var leftBtn:UIButton?override func viewDidLoad() {super.viewDidLoad()self.items NSMutableArray()// 初始化tableViewsetupViews()// 右边添加按钮setupRightBarButtonItem()// 左边删除按钮setupLeftBarButtonItem();}func setupViews(){self.tableView UITableView(frame:self.view!.frame)self.tableView!.delegate selfself.tableView!.dataSource selfself.tableView!.registerClass(UITableViewCell.self, forCellReuseIdentifier: cell)self.view.addSubview(self.tableView!)}func setupLeftBarButtonItem(){self.leftBtn UIButton(type: UIButtonType.Custom)self.leftBtn!.frame CGRectMake(0,0,50,40)self.leftBtn!.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)self.leftBtn!.setTitle(Edit, forState: UIControlState.Normal)self.leftBtn!.tag 100self.leftBtn!.userInteractionEnabled falseself.leftBtn!.addTarget(self, action: leftBarButtonItemClicked, forControlEvents: UIControlEvents.TouchUpInside)let barButtonItem UIBarButtonItem(customView: self.leftBtn!)self.navigationItem.leftBarButtonItem barButtonItem}func setupRightBarButtonItem(){let barButtonItem UIBarButtonItem(title: Add, style: UIBarButtonItemStyle.Plain, target: self, action: rightBarButtonItemClicked)self.navigationItem.rightBarButtonItem barButtonItem}func rightBarButtonItemClicked(){let row self.items.countlet indexPath NSIndexPath(forRow:row,inSection:0)self.items.addObject(1)self.tableView?.insertRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Left)self.leftBtn!.userInteractionEnabled true}func leftBarButtonItemClicked(){if (self.leftBtn!.tag 100){// 设置当前tableView可编辑self.tableView?.setEditing(true, animated: true)self.leftBtn!.tag 200self.leftBtn?.setTitle(Done, forState: UIControlState.Normal)}else{self.tableView?.setEditing(false, animated: true)self.leftBtn!.tag 100self.leftBtn?.setTitle(Edit, forState: UIControlState.Normal)}}override func didReceiveMemoryWarning() {super.didReceiveMemoryWarning()// Dispose of any resources that can be recreated.}func tableView(tableView: UITableView, numberOfRowsInSection section: Int) - Int{return self.items.count}func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) - UITableViewCell{let cell tableView .dequeueReusableCellWithIdentifier(cell, forIndexPath: indexPath) as UITableViewCellcell.textLabel!.text String(format: %i, indexPath.row1)return cell}// 指定可编辑的行func tableView(tableView: UITableView, setEditing indexPath: NSIndexPath) - Bool{return true}// 编辑完成func tableView(tableView: UITableView, commitEditingStyle editingStyle: UITableViewCellEditingStyle, forRowAtIndexPath indexPath: NSIndexPath){self.items.removeObjectAtIndex(indexPath.row)self.tableView?.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top)if (self.items.count 0){self.leftBtn!.userInteractionEnabled false}}// 编辑样式func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) - UITableViewCellEditingStyle{return (UITableViewCellEditingStyle.Delete)}// 指定哪些行可以移动func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) - Bool{return true}// 移动完成func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath){self.tableView?.moveRowAtIndexPath(sourceIndexPath, toIndexPath: destinationIndexPath)self.items.exchangeObjectAtIndex(sourceIndexPath.row, withObjectAtIndex: destinationIndexPath.row)}// 限制在同一分区移动func tableView(tableView: UITableView, targetIndexPathForMoveFromRowAtIndexPath sourceIndexPath: NSIndexPath, toProposedIndexPath proposedDestinationIndexPath: NSIndexPath) - NSIndexPath {if sourceIndexPath.section proposedDestinationIndexPath.section {return proposedDestinationIndexPath}return sourceIndexPath}// 点击cellfunc tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){print(row %d,indexPath.row)}}转载于:https://www.cnblogs.com/wangxianggudu/p/5107733.html