您的位置:首页 > 产品设计 > UI/UE

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

2013-03-28 11:14 363 查看
- (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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: