iOS 使用UItableview实现宫格现实-以九宫格为例子

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

{

    

    return 44;

}


- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

{

    return 1;

}


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

{

    

    if ([m_showArray count]%4)

    {

        return [m_showArray count]/4+1;

    }

    else

    {

        return [m_showArray count]/4;

    }

    

}


-(void)selectBtItem:(id)sender

{

    

}


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

{

    static NSString *strIndicator = @"CellId";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:strIndicator];

    for (UIView *view in cell.subviews)

    {

        if ([view isKindOfClass:[CustomButton class]])

        {

            [view removeFromSuperview];

        }

        

    }

    if (!cell)

    {

        cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:strIndicator]autorelease];

        cell.selectedBackgroundView = [[[UIView alloc] initWithFrame:cell.frame] autorelease];

        cell.selectedBackgroundView.backgroundColor = [UIColor clearColor];

        [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

    }

    

    for (int i = 0;i < 4; ++i)

    {

        if (([m_showArray count]%4)&&(indexPath.row == [m_showArray count]/4)&&([m_showArray count]%4 == i))

        {//不能被4整除的余数处理,

            break;

        }

        CustomButton* tempBt = [[CustomButton alloc] initWithFrame:CGRectMake(10+i*80, 10, 60, 20)];

        tempBt.tag = 2000+i;

        tempBt.m_tag = m_index;

        

        [tempBt setTitle:tempCity.cityName forState:UIControlStateNormal];

        [tempBt setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];

        tempBt.backgroundColor = [UIColor clearColor];

        [tempBt addTarget:self action:@selector(selectBtItem:) forControlEvents:UIControlEventTouchUpInside];

        [cell addSubview:tempBt];

        [tempBt release];

        m_index = (m_index + 1)%[m_showArray count];

    }

    return cell;

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值