iOS OC TableView的使用(1)- 基本使用方法

2018-09-03  本文已影响508人  CSDN_georgeChen

写在前面

实现

由于第二种方法更为自由,也体现了第一种的实现原理。所以在此只介绍第二种。

1、打开一个项目,打开.storyboard文件,在Xcode的控件栏找到TableView控件。将它拖动到一个ViewController上。

tableview1.png

2、将TableView的代理设置为当前ViewController:在tableView上按住control键,拉动鼠标到ViewController。选择dataSource和delegate。

tableView代理.png

3、找到ViewController代码。在.h文件加入代理协议<UITableViewDataSource,UITableViewDelegate> 以及添加两个成员变量。如下:

@interface ViewController : UIViewController<UITableViewDataSource,UITableViewDelegate>
{
    IBOutlet UITableView *tableview;
    NSArray *data;//数组的每一个元素对应tableView相应的一格
}
@end

4、在当前viewController的.m文件中加入TableView的代理方法。

#import "ViewController.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSArray *provinces=[[NSArray alloc] initWithObjects:@"湖南",@"湖北",@"山东",@"山西",@"河南",@"河北",@"广东",@"广西",@"黑龙江",@"内蒙古",@"新疆",@"西藏",@"台湾",@"香港",@"澳门", nil];
    self.data = provinces;
    
    tableview.rowHeight = 30;
    //行高
}
 -(NSInteger) numberOfSectionsInTableView:(UITableView *)tableView
{
    return 1;
}

-(NSInteger) tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [self.data count];
}

-(UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellTableIndentifier = @"CellTableIdentifier";
    //单元格ID
    //重用单元格
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellTableIndentifier];
    //初始化单元格
    if(cell == nil)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellTableIndentifier];
        //自带有两种基础的tableView样式,UITableViewCellStyleValue1、2. 后面的文章会讲解自定义样式
    }
    
    UIImage *img = [UIImage imageNamed:@"tachi.png"];
    cell.imageView.image = img;
    //添加图片
    cell.textLabel.text = [self.data objectAtIndex:indexPath.row];
    cell.detailTextLabel.text = @"省份";
    //添加右侧注释
    
    return cell;
}


-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
  
    //获取storyboard
    UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:[NSBundle mainBundle]];

    //根据storyboard创建控制对象
     Detail * celldetail = [storyboard instantiateViewControllerWithIdentifier:@"celldetail"];

    [celldetail viewDidLoad];

    [self.navigationController pushViewController:celldetail animated:YES];
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


@end

5、 这样tableView基本显示就完成了。

tableView展示.png
上一篇下一篇

猜你喜欢

热点阅读