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

溫馨提示×

溫馨提示×

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

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

iOS開發那些事--自定義單元格實現

發布時間:2020-07-29 02:49:19 來源:網絡 閱讀:595 作者:tony關東升 欄目:移動開發

自定義單元格

當蘋果公司提供給的單元格樣式不能我們的業務需求的時候,我們需要自定義單元格。在iOS 5之前,自定義單元格可以有兩種實現方式:代碼實現和用xib技術實現。用xib技術實現相對比較簡單,創建一個xib文件,然后定義一個繼承 UITableViewCell類單元格類即可。在iOS 5之后我們又有了新的選擇,故事板實現方式,這種方式比xib方式更簡單一些。

 

我們把簡單表視圖案例的原型圖修改一下,這種情況下四種內置的單元格樣式就不合適了。

  iOS開發那些事--自定義單元格實現

    采用“Single View Application”工程模版創建一個名為“CustomCell”的工程,Table View屬性的“Prototype Cells”項目設為1(除此之外其它的操作過程與上同)。

 iOS開發那些事--自定義單元格實現

設計畫面中上部會有一個單元格設計畫面,我們可以在這個位置進行單元格布局的設計。從對象庫拖拽一個Label和Image View到單元格設計畫面,調整好它們的位置。

 iOS開發那些事--自定義單元格實現

創建自定義單元格類CustomCell, 選擇UITableViewCell為父類

 iOS開發那些事--自定義單元格實現

再 回到IB設計畫面,在IB中左邊選擇“Table View Controller Scene” → “Table View Controller” → “Table View” → “Table View Cell”,打開單元格的標識檢查器,在Class的選項中選擇CustomCell類。

 iOS開發那些事--自定義單元格實現

為Lable和ImageView控件連接輸出口

 iOS開發那些事--自定義單元格實現

本案例的代碼如下:

 

  1. // 
  2.  
  3. //  CustomCell.h 
  4.  
  5. //  CustomCell 
  6.  
  7. #import <UIKit/UIKit.h> 
  8.  
  9. @interface CustomCell : UITableViewCell 
  10.  
  11. @property (weak, nonatomic) IBOutlet UILabel *name; 
  12.  
  13. @property (weak, nonatomic) IBOutlet UIImageView *p_w_picpath; 
  14.  
  15. @end 
  16.  
  17. // 
  18.  
  19. //  CustomCell.m 
  20.  
  21. //  CustomCell 
  22.  
  23. #import “CustomCell.h” 
  24.  
  25. @implementation CustomCell 
  26.  
  27. @end 

CustomCell類的代碼比較簡單,在有些業務中還需要定義動作。

修改視圖控制器ViewController.m中的tableView: cellForRowAtIndexPath:方法,代碼如下:

 

  1. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
  2.  
  3.  
  4. static NSString *CellIdentifier = @”Cell”; 
  5.  
  6. CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
  7.  
  8.     if (cell == nil) { 
  9.  
  10.         cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
  11.  
  12.     } 
  13.  
  14. NSUInteger row = [indexPath row]; 
  15.  
  16. NSDictionary *rowDict = [self.listTeams objectAtIndex:row]; 
  17.  
  18. cell.name.text =  [rowDict objectForKey:@"name"]; 
  19.  
  20. cell.p_w_picpath.p_w_picpath = [UIImage p_w_picpathNamed:[rowDict objectForKey:@"p_w_picpath"]]; 
  21.  
  22. NSUInteger row = [indexPath row]; 
  23.  
  24. NSDictionary *rowDict = [self.listFilterTeams objectAtIndex:row]; 
  25.  
  26. cell.textLabel.text =  [rowDict objectForKey:@"name"]; 
  27.  
  28. NSString *p_w_picpathPath = [rowDict objectForKey:@"p_w_picpath"]; 
  29.  
  30. p_w_picpathPath = [p_w_picpathPath stringByAppendingString:@".png"]; 
  31.  
  32. cell.p_w_picpath.p_w_picpath = [UIImage p_w_picpathNamed:p_w_picpathPath]; 
  33.  
  34. cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 
  35.  
  36. return cell; 
  37.  

我們看到if (cell == nil){}代碼被移除,這是因為我們在IB中已經將重用標識設定為Cell了。 方法中的其它代碼與簡單表一致,此處不再贅述。運行一下。

iOS開發那些事--自定義單元格實現

向AI問一下細節

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

AI

滦南县| 浮山县| 洮南市| 土默特左旗| 安远县| 淅川县| 武义县| 义乌市| 巨鹿县| 潼南县| 芜湖市| 兴海县| 东安县| 博客| 盐边县| 霍林郭勒市| 营山县| 西乌珠穆沁旗| 银川市| 盘山县| 洪湖市| 贡觉县| 沧州市| 方山县| 马边| 白山市| 灵石县| 临猗县| 虎林市| 安新县| 临洮县| 恩施市| 泰来县| 定州市| 大关县| 确山县| 于田县| 筠连县| 乌恰县| 大洼县| 平舆县|