91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Swift如何使用表格組件實現單列表

發布時間:2022-01-27 10:50:03 來源:億速云 閱讀:167 作者:柒染 欄目:開發技術

本篇文章給大家分享的是有關Swift如何使用表格組件實現單列表,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

1、樣例說明:

(1)列表內容從Controls.plist文件中讀取,類型為Array 。
(2)點擊列表項會彈出消息框顯示該項信息。
(3)按住列表項向左滑動,會出現刪除按鈕。點擊刪除即可刪除該項。

2、效果圖

Swift如何使用表格組件實現單列表

3、單元格復用機制

由于普通的表格視圖中對的單元格形式一般都是相同的,所以本例采用了單元格復用機制,可以大大提高程序性能。
實現方式是初始化創建  UITableView 實例時使用  registerClass(UITableViewCell.self, forCellReuseIdentifier: "SwiftCell") 創建一個可供重用的  UITableViewCell。并將其注冊到UITableView,ID為 SwiftCell。
下次碰到形式(或結構)相同的單元就可以直接使用UITableView的dequeueReusableCellWithIdentifier 方法從UITableView中取出。

4、示例代碼

--- ViewController.swift ---

import  UIKit
 
class  ViewController :  UIViewController ,  UITableViewDelegate ,  UITableViewDataSource  {
     
     var  ctrlnames:[ String ]?
     var  tableView: UITableView ?
     
     override  func  loadView() {
         super .loadView()
     }
     
     override  func  viewDidLoad() {
         super .viewDidLoad()
         
         //初始化數據,這一次數據,我們放在屬性列表文件里
         self .ctrlnames =   NSArray (contentsOfFile:
             NSBundle .mainBundle().pathForResource( "Controls" , ofType: "plist" )!)  as ?  Array
         
         print ( self .ctrlnames)
         
         //創建表視圖
         self .tableView =  UITableView (frame:  self .view.frame, style: UITableViewStyle . Plain )
         self .tableView!.delegate =  self
         self .tableView!.dataSource =  self
         //創建一個重用的單元格
         self .tableView!.registerClass( UITableViewCell . self ,
             forCellReuseIdentifier:  "SwiftCell" )
         self .view.addSubview( self .tableView!)
         
         //創建表頭標簽
         let  headerLabel =  UILabel (frame:  CGRectMake (0, 0,  self .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)
         self .tableView!.tableHeaderView = headerLabel
     }
     
     //在本例中,只有一個分區
     func  numberOfSectionsInTableView(tableView:  UITableView ) ->  Int  {
         return  1;
     }
     
     //返回表格行數(也就是返回控件數)
     func  tableView(tableView:  UITableView , numberOfRowsInSection section:  Int ) ->  Int  {
         return  self .ctrlnames!.count
     }
     
     //創建各單元顯示內容(創建參數indexPath指定的單元)
     func  tableView(tableView:  UITableView , cellForRowAtIndexPath indexPath:  NSIndexPath )
         ->  UITableViewCell
     {
         //為了提供表格顯示性能,已創建完成的單元需重復使用
         let  identify: String  =  "SwiftCell"
         //同一形式的單元格重復使用,在聲明時已注冊
         let  cell = tableView.dequeueReusableCellWithIdentifier(identify,
             forIndexPath: indexPath)  as  UITableViewCell
         cell.accessoryType =  UITableViewCellAccessoryType . DisclosureIndicator
         cell.textLabel?.text =  self .ctrlnames![indexPath.row]
         return  cell
     }
     
     // UITableViewDelegate 方法,處理列表項的選中事件
     func  tableView(tableView:  UITableView , didSelectRowAtIndexPath indexPath:  NSIndexPath )
     {
         self .tableView!.deselectRowAtIndexPath(indexPath, animated:  true )
         
         let  itemString =  self .ctrlnames![indexPath.row]
         
         let  alertController =  UIAlertController (title:  "提示!" ,
             message:  "你選中了【\(itemString)】" , preferredStyle: . Alert )
         let  okAction =  UIAlertAction (title:  "確定" , style: . Default ,handler:  nil )
         alertController.addAction(okAction)
         self .presentViewController(alertController, animated:  true , completion:  nil )
     }
     
     //滑動刪除必須實現的方法
     func  tableView(tableView:  UITableView ,
         commitEditingStyle editingStyle:  UITableViewCellEditingStyle ,
         forRowAtIndexPath indexPath:  NSIndexPath ) {
             print ( "刪除\(indexPath.row)" )
             let  index = indexPath.row
             self .ctrlnames?.removeAtIndex(index)
             self .tableView?.deleteRowsAtIndexPaths([indexPath],
                 withRowAnimation:  UITableViewRowAnimation . Top )
     }
     
     //滑動刪除
     func  tableView(tableView:  UITableView ,
         editingStyleForRowAtIndexPath indexPath:  NSIndexPath )
         ->  UITableViewCellEditingStyle  {
             return  UITableViewCellEditingStyle . Delete
     }
     
     //修改刪除按鈕的文字
     func  tableView(tableView:  UITableView ,
         titleForDeleteConfirmationButtonForRowAtIndexPath indexPath:  NSIndexPath )
         ->  String ? {
             return  "刪"
     }
     
     override  func  didReceiveMemoryWarning() {
         super .didReceiveMemoryWarning()
     }
}

以上就是Swift如何使用表格組件實現單列表,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台中县| 新民市| 胶南市| 贺兰县| 乌拉特前旗| 海安县| 北辰区| 竹溪县| 商丘市| 裕民县| 镇平县| 巴彦淖尔市| 石家庄市| 赤峰市| 建阳市| 陇川县| 招远市| 新余市| 金山区| 措勤县| 宝坻区| 渝北区| 白银市| 景洪市| 三门峡市| 哈巴河县| 关岭| 通榆县| 象山县| 寻乌县| 丹东市| 灵石县| 岗巴县| 丽水市| 勃利县| 卓资县| 道孚县| 沂水县| 城步| 临澧县| 新和县|