ビューの境界がいつ変更されたかを検出し、それを使用してテーブルビューセルごとに表示されるサムネイルの数を更新するカスタム UITableViewController があります。ただし、別のビュー内に tableView を埋め込むと、サイズが変更されたことを視覚的に確認できますが、境界は変更されません。
KVO を使用して、ビューの境界が変更されたことを検出します。カスタム TableViewController の viewDidLoad メソッド内から:
[self.view addObserver:self forKeyPath:@"frame" options:0 context:nil];
tableViewController をアプリのルート ビュー コントローラーにして iPad を回転させると、回転ごとに境界が更新され、すべてが完全に機能します。
ただし、私のテーブルビューが別のView Controllerのペン先に埋め込まれていると、境界が更新されることはなく、フレームも更新されません。それにもかかわらず、テーブルビュー自体が横向きモードに出入りするときに正しくサイズ変更されていることがわかります。そのため、アプリのどこかで実際のフレーム/境界が変更されており、報告されていません。実際に起こっていることにアクセスする方法はありますか?