Итак, я работаю над приложением, которое является частью структуры ePub. Приложение вставляет читателя в свое представление и позволяет пользователю прокручивать зум и страницу путем прокрутки. Я пытаюсь изменить его так, чтобы список ePubs попадал в коллекцию в виде ячеек, отображающих обложку epubs. Я могу создать ячейки для flowlayout и использовать рамки рамки я могу создавать ячейки, но когда я пытаюсь и поворачивать от портретного до пейзажа, они не корректируют размер и положение. Мой код для клеток заключается в следующем:Настройка ячеек UICollectionViewFlowLayout при вращении
//Set Collection View Cell Size and Orientation
-(CGSize)
collectionView:(UICollectionView *) collectionView
layout:(UICollectionViewLayout*)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath{
//Set Landscape size of cells
if(UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation)){
CGFloat cellWidth = [[UIScreen mainScreen] bounds].size.width;
CGFloat cellHeigt = [[UIScreen mainScreen] bounds].size.height-350;
NSLog(@"Is Landscape");
return CGSizeMake(cellWidth, cellHeigt);
}
//Set Potrait size of cells
else{
NSLog(@"Is Portrait");
CGFloat cellWidth = [[UIScreen mainScreen] bounds].size.width-80;
CGFloat cellHeigt = [[UIScreen mainScreen] bounds].size.height-240;
return CGSizeMake(cellWidth, cellHeigt);
}
}
и я использую этот код, чтобы установить их:
//Collection View Cell Position
- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout insetForSectionAtIndex:(NSInteger)section {
if(UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation)){
return UIEdgeInsetsMake(0,10,0,20); // top, left, bottom, right
}
else{
return UIEdgeInsetsMake(0,20,0,20); // top, left, bottom, right
}
}
Когда я повернуть устройство клетку верхней границы проходит над рамой.
Пожалуйста, помогите, как я могу обновить фрейм динамически?
Thanks. Как я могу ссылаться на свой контроллер просмотра. У меня нет глобальной декларации. Должен ли я изменить свой вопрос и поместить код для всего моего контроллера списка? –
Да положил в ваш viewcontroller, где вы поместили методы сбора данных collectionView. – KKRocks
Спасибо, сейчас я сделаю снимок –