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