ユーザーがボタンを押すと展開/折りたたむことができる拡張可能な UITableView があります。その方法は、ボタンが押されたときにコンテンツを変更し、contentSize.height をテーブルビューの高さに割り当てることです。iOS 6 では正常に動作します。
しかし、iOS 7 では、テーブルビューの高さにどのような値を設定しても、高さが変更されず、新しいコンテンツが切り取られたように表示されます。高さは絵コンテの原点高さにこだわるようです。しかし、テーブルビューの高さを印刷すると、設定した値になります。
高さを変更する方法は次のとおりです。
//Do some change to the content...
[tableview reloadData];
NSLog(@"height: %f, contentHeight: %f", tableview.frame.size.height, tableview.contentSize.height);// print height: 60, contentHeight: 160
CGRect frame = tableview.frame;
frame.size.height = tableview.contentSize.height;
tableview.frame = frame;
NSLog(@"height: %f, contentHeight: %f", tableview.frame.size.height, tableview.contentSize.height);// print height: 160, contentHeight: 160
何か案は?
ps テーブルビューは UIScrollView にあります。(それが重要な場合。)