美文网首页
论iOS Tableview

论iOS Tableview

作者: 兰陵王堕红尘 | 来源:发表于2016-06-03 14:14 被阅读82次

    一、

    1、UIViewController

    首先实现协议:<UITableViewDataSource,UITableViewDelegate>

    2、创建属性:

    UITableView*personalTableView;

    NSArray*dataSource;

    3、

    personalTableView=[[UITableView alloc]initWithFrame:CGRectMake(0, 44+20, SCREEN_WIDTH, SCREEN_HEIGHT-20-44-49) style:UITableViewStyleGrouped];

    [self.view addSubview:personalTableView];

    personalTableView.delegate=self;

    personalTableView.dataSource=self;

    personalTableView.bounces=NO;

    personalTableView.showsVerticalScrollIndicator = NO;//不显示右侧滑块

    personalTableView.separatorStyle=UITableViewCellSeparatorStyleSingleLine;//分割线

    dataSource=@[@"我的分享",@"密码管理",@"用户协议",@"关于"];

    4、

    #pragma mark tableViewDelegate

    -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

    {//分组数 也就是section数

    return 3;

    }

    //设置每个分组下tableview的行数

    -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

    {

    if (section==0) {

    return 1;

    }else if (section==1) {

    return dataSource.count;

    }else{

    return 1;

    }

    }

    //每个分组上边预留的空白高度

    -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

    {

    return 20;

    }

    //每个分组下边预留的空白高度

    -(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section

    {

    if (section==2) {

    return 40;

    }

    return 20;

    }

    //每一个分组下对应的tableview 高度

    -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

    {

    if (indexPath.section==0) {

    return 80;

    }

    return 40;

    }

    //设置每行对应的cell(展示的内容)

    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

    {

    static NSString *identifer=@"cell";

    UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:identifer];

    if (cell==nil) {

    cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifer];

    }

    if (indexPath.section==0) {

    cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"userinfo"];

    UIImageView *imageView=[[UIImageView alloc]initWithFrame:CGRectMake(12, 0, 80, 80)];

    imageView.image=[UIImage imageNamed:@"usericon.png"];

    [cell.contentView addSubview:imageView];

    UILabel *nameLabel=[[UILabel alloc]initWithFrame:CGRectMake(100, 0, 60, 80)];

    nameLabel.text=@"李晨";

    [cell.contentView addSubview:nameLabel];

    }else if (indexPath.section==1) {

    cell.textLabel.text=[dataSource objectAtIndex:indexPath.row];

    }else{

    cell.textLabel.text=@"退出登陆";

    cell.textLabel.textAlignment=NSTextAlignmentCenter;

    }

    return cell;

    }

    相关文章

      网友评论

          本文标题:论iOS Tableview

          本文链接:https://www.haomeiwen.com/subject/enzkdttx.html