0

У меня есть вид контейнера ECSlidingViewController. Каждый элемент в контейнере является NavigationViewController ->UIViewControllerUIAutoresizingMasks работает неправильно в iPad ECSlidingViewController

Например, в одном контроллере представления ребенка У меня есть UITableView с UICollectionView в один статические ячейках.

Я пытаюсь реализовать версию для iPad, которая поддерживает изменение ориентации экрана, поэтому я позволил всем авторезистентным маскам заполнить ячейку UICollectionView - и теперь у меня была сумасшедшая проблема - кадр ячеек - их ширина очень большая. Например, ракурс таблицы равен {{0, 0}, {1024, 768}}, но UICollectionView в статическом кадре ячейки равен {{0, 0}, {1792, 1301}}. Как я могу решить эту проблему?

ответ

0

Итак, я признал недействительным collectionView layout в willRotateToInterfaceOrientation:duration:, так что sizeForItemAtIndexPath: вызывается снова.

- (CGSize)collectionView:(UICollectionView *)collectionView 
        layout:(UICollectionViewLayout *)collectionViewLayout 
    sizeForItemAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return CGSizeMake(self.collectionView.frame.size.width, self.collectionView..frame.size.height); 
} 


- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
           duration:(NSTimeInterval)duration 
{ 
    // Suppress the layout errors by invalidating the layout 
    [self.collectionView.collectionViewLayout invalidateLayout];  
} 
+0

valenki, borsch, zemlyanika. Проблема не связана с представлением коллекции - все в ячейках не работает корректно с помощью масок авторазрешения из-за странных размеров фрейма – ShurupuS

+0

hm ... код должен фиксировать размеры ячеек просмотра коллекции при вращении. – l0gg3r

+0

теперь элементы представления коллекции являются под другим ==> результатом является один очень простой просмотр коллекции с одним элементом в строке – ShurupuS

Смежные вопросы