Часть UITableView теряет взаимодействие после поворота устройства

У меня есть UIViewController с подклассом UIView в качестве подпредставления, а здесь UITableView добавлен как подвид этого UIView, как показано ниже:

UIViewController
-UIView
--UITableView (plucked from a UITableViewController)

На iPad, если я загружаю контроллер представления в любой ориентации, я могу отлично взаимодействовать с представлением таблицы. Однако, если я поверну устройство в новую ориентацию - у меня есть код, который изменяет рамки, чтобы они соответствовали новому разрешению, но небольшая область таблицы не реагирует на прикосновения и тому подобное.

например, мы поворачиваем портретную ориентацию в альбомную: если вы представляете фигуру портрета, помещенную на альбомный экран, эта область остается чувствительной, но небольшая полоса справа не реагирует.

Есть ли у кого-нибудь идеи, что я, возможно, пропустил? Заранее спасибо.

РЕДАКТИРОВАТЬ: Я успешно проверил фреймы CGRect всех объектов от ячеек tableview до верхнего UIViewController.


person Luke    schedule 17.10.2011    source источник
comment
Возможно, вы изменяете размер UITableView, но не родительского UIView?   -  person Johannes Fahrenkrug    schedule 17.10.2011
comment
Я успешно NSLogged все границы кадра рассматриваемого tableview до верхнего UIViewController, и они совпадают. Табличное представление изначально извлекается из UIViewController, но выпущен этот другой VC - может, табличное представление все еще ищет своего первоначального владельца?   -  person Luke    schedule 17.10.2011
comment
Хммм ... не совсем невозможно. Зачем вам все равно копировать его с одного ВК, чтобы добавить в другой? Не самое изящное решение :)   -  person Johannes Fahrenkrug    schedule 17.10.2011
comment
Конечно, вы абсолютно правы - я возился с некоторыми файлами из cocoacontrols для RSS-ридера для универсального приложения - он отлично работает, кроме этой проблемы ориентации на iPad.   -  person Luke    schedule 17.10.2011


Ответы (1)


Область, которая теряет взаимодействие, должна была выпасть за пределы кадра супервизора после поворота.

вы можете проверить это, установив tableView.clipSubviews = YES;

используя это, обрежет часть табличного представления, выходящую за пределы супервизора.

person Saurabh Passolia    schedule 17.10.2011
comment
Спасибо за ответ, единственное доступное свойство - tableView.clipsToBounds, которое, к сожалению, ничего не сделало при размещении во всех суперпредставлениях. - person Luke; 17.10.2011