Я чувствую, что это будет простой ответ, вращающийся вокруг AutoResizingMasks, но я, похоже, не могу обойти эту тему.
У меня есть приложение для iPad, которое показывает 2 UITableViews бок о бок. Когда я поворачиваюсь из "Портрет" в "Пейзаж" и обратно, ячейки в UITableView изменяются без изменений, "на лету", пока происходит поворот. Я использую UITableViewCellStyleSubtitle UITableViewCells (пока не подклассы), и я установил UITableView в IB для привязки к верхнему, левому и нижнему краям (для левой UITableView) и иметь гибкую ширину.
Я поставляю свой собственный объект UIView для
- (UIView *)tableView:(UITableView *)tableView 
     viewForHeaderInSection:(NSInteger)section
Вот что я до сих пор (называемый методом класса из другого класса):
+ (UIView *)headerForTableView:(UITableView *)tv
{
    // The view to return 
    UIView *headerView = [[UIView alloc] 
        initWithFrame:CGRectMake(0, 0, [tv frame].size.width, someHeight)];
    [headerView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | 
                                    UIViewAutoresizingFlexibleLeftMargin | 
                                    UIViewAutoresizingFlexibleRightMargin];
    // Other layout logic... doesn't seem to be the culprit
    // Return the HeaderView
    return headerView;
}
Итак, в любой ориентации все загружается точно так же, как я хочу. После поворота, если я вручную вызову reloadData или дождитесь, пока мое приложение вызовет его, или прокрутите UITableView, заголовочные окна изменят размер и будут отображаться правильно. Я не могу понять, как правильно установить свойство AutoResizeMask, чтобы размер заголовка изменился так же, как и ячейки.
