2013-04-08 1 views
1

У меня есть uicollectionview, который содержит 2 секции, и я хочу добавить нижний колонтитул другого размера для каждого раздела. Из IB я увидел, что могу добавить только один нижний колонтитул и заголовок на коллекцию.можно добавить нижние колонтитулы разного размера к различным разделам того же uicollectionview

Возможно ли возможно по коду, если я зарегистрирую 2 разных нижних колонтитула? Или, возможно, измените размер нижнего колонтитула во время выполнения для каждого раздела?

ответ

7

Да .. Это возможно .. У вас есть две опции

Вариант 1: Регистрация разных взглядов FOOTER

вид Регистрация колонтитул через код, используя различные идентификаторы повторного

registerClass:forSupplementaryViewOfKind:withReuseIdentifier:  

Затем

- (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath 
    { 
NSString *identifier = nil; 
if ([kind isEqualToString:UICollectionElementKindSectionFooter]) { 
    if (indexPath.section == 0) { 
     identifier = @"footerViewOne"; 
    } 
    else{ 
     identifier = @"footerViewTwo"; 
    } 

} 
UICollectionReusableView *supplementaryView = [collectionView dequeueReusableSupplementaryViewOfKind:kind withReuseIdentifier:identifier forIndexPath:indexPath]; 


return supplementaryView; 
} 

Вариант 2: Просто измените размер представления колонтитула

Для этого используйте UICollectionViewDelegateFlowLayout метод

- (CGSize)collectionView:(PSUICollectionView *)collectionView layout:(PSUICollectionViewLayout*)collectionViewLayout referenceSizeForFooterInSection:(NSInteger)section 
{ 
    if (section==0) { 
    return CGSizeMake(500, 50); 
    } 
    else 
    { 
    return CGSizeMake(200, 50); 
    } 
} 
+0

круто, спасибо очень много. Я использовал второе решение (в UICollectionViewDelegateFlowLayout), и он отлично работает! –

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

  • Нет связанных вопросов^_^