免費開源的iOS開發學習平臺

                                                UITableView詳解:4-表視圖創建示例

                                                通過對UITableView對象的了解,我們可以得知,UITableView是由一個個的UITableViewCell單元格構成的,并且每個單元格中顯示的數據都是通過其數據源對象來獲取的。

                                                本節的示例代碼,創建了一個UITableView對象,并且添加到控制器View上。UITableView上的每個單元格數據,都是通過UITableView的數據源對象--控制器來獲取的。

                                                • 創建一個Single View Application

                                                • 在ViewController.m文件中,設置該控制器類遵守UITableViewDataSource協議,并且添加一個UITableView類型的屬性

                                                @interface ViewController ()<UITableViewDelegate,UITableViewDataSource>
                                                @property (nonatomic,strong) UITableView * tableView;
                                                @end
                                                
                                                • 對tableView屬性進行懶加載,設置表視圖的屬性
                                                -(UITableView *)tableView{
                                                    if (_tableView == nil) {
                                                        _tableView = [[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain];
                                                        _tableView.dataSource = self; //設置數據源對象
                                                    }
                                                    return _tableView;
                                                }
                                                
                                                • 把表視圖添加到控制器view上
                                                - (void)viewDidLoad {
                                                    [super viewDidLoad];
                                                    [self.view addSubview:self.tableView];
                                                }
                                                
                                                • 實現UITableViewDataSource協議中的tableView: numberOfRowsInSection:方法,返回表視圖中包含的單元格個數,這里我們選擇添加20個單元格
                                                -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
                                                    return 20;
                                                }
                                                
                                                • 實現tableView: cellForRowAtIndexPath:方法,創建每一個單元格,該方法會被反復調用20次,即創建20個單元格
                                                -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
                                                    //初始化cell
                                                    static NSString *cellID = @"cell";   
                                                    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];  
                                                    if (cell == nil) {
                                                        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
                                                    }   
                                                    //獲取隨機數據
                                                    NSString *text = [NSString stringWithFormat:@"%d", arc4random_uniform(1000000)];   
                                                    //設值
                                                    cell.textLabel.text = text;    
                                                    return cell;
                                                }
                                                

                                                運行后,我們可以看到在屏幕上出現了UITableView視圖,并且可以向上滑動。在該案例中,我們并沒有對單元格的樣式進行復雜的定制,只是帶領大家學習掌握如何創建表視圖,這是我們學習表視圖的第一步。

                                                示例代碼

                                                https://github.com/99ios/8.2.4


                                                欧美超级精品一级A片|欧美一级黄色视频|国产精品自在在线午夜免费|4444亚洲人成无码网在线观看|亚洲ⅴa曰本va欧美va视频