我有一个headerView
可以在按下时展开和折叠的。它的默认状态是折叠。
我使用以下代码来扩展headerView
.
if (!self.headerViewIsExpanded) {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[self.collapsedHeaderView removeFromSuperview];
self.headerView.frame = self.expandedHeaderView.frame;
[self.headerView addSubview:self.expandedHeaderView];
self.tableView.frame = CGRectMake(self.tableView.frame.origin.x, self.tableView.frame.origin.y + offset, self.tableView.frame.size.width, self.tableView.frame.size.height - offset);
[UIView commitAnimations];
self.headerViewIsExpanded = YES;
}
它正确地扩展了视图框架并缩小了 tableView 框架。但是,它无法扩展原始 UIControl 的触摸接收区域,因此我只能通过按原始框架所在的位置来折叠它。
我该如何解决这个问题?
编辑:或者,我会接受一个很好的解释,解释为什么我不能解决这个问题,或者至少不能安全地解决它。
编辑 1:更清楚地说,这headerView
不是tableView
标题视图。它只是位于恰好被调用的表顶部的视图headerView
。headerView
和都是跨可用窗口tableView
的主视图的子视图。UIView