我有一个UITableView,其中标题部分有多个headerSection可用。默认高度是。现在,只要我点击特定部分的按钮,我想将特定的headerSection高度更改为。点击触发方法(sectionOpened:)
,这有助于改变高度。但是那时候,其他headerSection的高度应该保持为。我怎么做?到目前为止,我尝试: 应该如何在ios中动态更改uitableview的特定标题部分高度
float headerSectionHeightDefault;
- (void)viewDidLoad
{
[super viewDidLoad];
headerSectionHeightDefault=56;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return headerSectionHeightDefault;
}
- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
headerView = [[UIView alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 640.0f, 0.0f)];
UIImageView *img = [[UIImageView alloc]initWithFrame:CGRectMake(15, 0, 300, 40)];
img.image = [UIImage imageNamed:@"menu_btn7.png"];
[headerView addSubview:img];
return headerView;
}
- (void) sectionOpened : (NSInteger) section
{
[menulistTable beginUpdates];
if(section==0)
{
headerSectionHeightDefault=40;
}
else
{
headerSectionHeightDefault=56;
}
[menulistTable endUpdates];
self.openSectionIndex = section;
}
实现我已经做到了,但你的逻辑只适用我有一些静态的无节的说10.但如果我有动态数字那么你会做什么? – Poles
在这种情况下,您必须管理要更改一个数组中高度的部分,并在返回部分高度时检查数组是否包含该特定部分,然后更改特定部分的高度否则返回默认高度 –