// ? ?UITableView // ? ?UITableView繼承于UIScrollView,可以滾動。 UITableView的每一條數據對應的單元格叫做Cell,是UITableViewCell一個對象,繼承于UIView。 // ? ?UITabbeView可以分區顯?示, 每一個分區稱為section, 每一?稱為row, 編號都從0開始。 系統提供了一個專門的類來整合section和row,叫做NSIndexPath。
//創建UITableView
? ?UITableView *tableView = [[UITableView alloc] ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?initWithFrame:self.view.bounds ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?style:UITableViewStylePlain]; ? ?[self.view addSubview:tableView]; ? ?[tableView release];
//UITableView的樣式枚舉
? // UITableView的初始化?方法包含?一個UITableViewStyle類型的參數 這是?一個枚舉類型 ? ?typedef NS_ENUM(NSInteger, UITableViewStyle) { ? ? ? ?UITableViewStylePlain, ? ? ? ?UITableViewStyleGrouped ? ?};
//UITableView的相關屬性
? ?//rowHeight ? ? ? ?行高
? ?//separtorStyle ? ?分隔線樣式
? ?//separtorColor ? ?分隔線顏?
? ?//tableHeaderView ?UITableView的置頂視圖
? ?//tableFooterView ?UITableView的置底視圖
//UITableView中有兩個重要的屬性:
? ?@property (nonatomic, weak, nullable) id ? ? dataSource;
? ? //dataSource 顯示數據相關的代理 ? ?@property (nonatomic, weak, nullable) id ? ? delegate;
? ? //delegate ? 視圖操作相關的代理
//UITableView代理的實現代碼
? ?1.簽訂UITableView協議 ? ?2.設置當前的ViewController為 UITableView
//UITableViewCell
? ?//UITableView的每一個單元格是UITableViewCell類的對 UITableViewCell默認提供了3個視圖屬性:
? ?UIImageView *imageView ?圖片視圖
? ?UILabel *textLabel ? ? ?標題視圖
? ?UILabel *detailTextLabel 副標題視圖
//UITableView重用cell的代碼流程
? ?1. 在創建UITableView之后,需要注冊一個cell類,當重用池中沒有 cell的時候,系統可以自動創建cell。 相關方法: ? ?- (void)registerClass:(Class)cellClass forCellReuseIdentifier: (NSString *)identifier; ? ?2.系統提供了一個獲取重?用池中cell的?方法(需要提供一個重用標 識): ? ?- (UITableViewCell *)dequeueReusableCellWithIdentifier:(NSString *)identifier;
//UITableViewController
? ?UITableViewController是繼承于UITableViewController中的一個 類,只不過?比UITableViewController中多了一個屬性tableView。 即:UITableViewController是一個自帶table的視圖控制器。
//
? ?一:UITableViewController繼承自UITableViewController,自帶 一個??ableVie?? ? ?二:[self.view]不是UIView而是UITableView ? ?三:datasource和delegate默認都是 self(UITableViewController) ? ?四:開發中只需要建立UITableViewController子類