我正在创建一个UITableView,其中更多部分为“已关闭”。当我点击一个部分,并找到解决方法时,我会使该部分爆炸显示该部分的行。我遇到的问题是我必须为标题设置动画以将其折叠到其宽度的一半。
这是我正在使用的代码
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
{
Sport *sport = [self.sportList objectAtIndex:section];
UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, tableView.frame.size.width, SECTION_HEIGHT)];
headerView.backgroundColor = [UIColor colorWithRed:31.0/255.0 green:59.0/255.0 blue:143.0/255.0 alpha:1.0];
UILabel *sportTitle = [[UILabel alloc] initWithFrame:CGRectMake(10.0, 2.0, tableView.frame.size.width, SECTION_HEIGHT-4)];
sportTitle.textColor = [UIColor whiteColor];
[headerView addSubview:sportTitle];
UIButton *sportButton = [[UIButton alloc] initWithFrame:headerView.frame];
[sportButton addTarget:self action:@selector(didSelectedButton:) forControlEvents:UIControlEventTouchUpInside];
[sportButton setTitle:@"" forState:UIControlStateNormal];
[sportButton setBackgroundColor:[UIColor clearColor]];
sportButton.tag = section;
[headerView addSubview:sportButton];
return headerView;
}
这是选择器:
-(void)didSelectedButton:(UIButton *)_button
{
if (self.delegate && [self.delegate respondsToSelector:@selector(didSelectedSport:)])
{
[self.delegate didSelectedSport:sport];
}
}
委托仅更新dataSource并调用reloadData
,从而使部分爆炸/崩溃成为可能。但是现在我想为该部分的标题宽度设置动画,是否可能?感谢
编辑:我可以使用选择器中UIButton的属性superview
修改标头,但是我必须在控制器绘制后执行此操作
答案 0 :(得分:0)
尝试使用以下功能。将uibutton的超级视图设置为方法中的from视图。 创建具有所需宽度的另一个视图,并将其设置为在方法中查看。在选项中提供选择的动画。
[UIView transitionFromView:from
toView:to
duration:.5
options:UIViewAnimationOptionTransitionFlipFromBottom
completion:^(BOOL finished) {
}];