亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

贵州省| 平远县| 县级市| 石林| 静乐县| 肇东市| 灯塔市| 芮城县| 呼图壁县| 三台县| 宿州市| 古浪县| 浏阳市| 富裕县| 新乡县| 三都| 富锦市| 潜江市| 克山县| 麟游县| 稷山县| 泊头市| 博湖县| 平遥县| 新密市| 垦利县| 大余县| 古田县| 牡丹江市| 临城县| 历史| 博客| 通辽市| 印江| 霍州市| 象山县| 土默特左旗| 家居| 内江市| 当涂县| 阳原县|