SORU
25 Kasım 2012, Pazar


Değişim farklı cihaz yönelimleri boyutu UİCollectionViewCell

UICollectionViewFlowLayout UICollectionView kullanıyorum.

Bu her hücre boyutunu ayarlayın

collectionView:layout:sizeForItemAtIndexPath:

Yatay dikey geçiş yaparken, her bir hücre boyutunda tamamen CollectionView boyutu, hücreler arasındaki dolgu alanı bırakmadan göre ayarlamak istiyorum.

Soru:

1) Nasıl bir hücre boyutunu değiştirmek için rotasyon olayı sonra mı?

2) Ve hücrelerin nerede düzenini nasıl daha iyi, her zaman ekranın tüm boyutu uygun mu?

CEVAP
1 Aralık 2012, CUMARTESİ


1) korumak ve çoklu düzen nesneleri takas olabilir, ama daha basit bir yolu var. Gerekli: sadece UICollectionViewController alt sınıf aşağıdakileri ekleyin ve boyutlarını ayarlayın

- (CGSize)collectionView:(UICollectionView *)collectionView
                  layout:(UICollectionViewLayout *)collectionViewLayout
  sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{    
    // Adjust cell size for orientation
    if (UIDeviceOrientationIsLandscape([[UIApplication sharedApplication] statusBarOrientation])) {
        return CGSizeMake(170.f, 170.f);
    }
    return CGSizeMake(192.f, 192.f);
}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
    [self.collectionView performBatchUpdates:nil completion:nil];
}

-performBatchUpdates:completion: arama düzeni geçersiz kılmak ve animasyon (sadece eğer ekstra ayarlamalar yapmak için eğer iki blok parametreler nil iletebilirsiniz) ile hücreleri yeniden boyutlandırmak olacaktır.

2) maddenin hardcoding Yerine -collectionView:layout:sizeForItemAtIndexPath boyutları sadece ekrana sığacak şekilde istediğiniz hücre sayısı collectionView bu yasak yükseklik veya genişliği bölün. Eğer collectionView eğer dikey olarak kaydırır eğer yatay veya genişliği verilirse eğer yükseklik kullanın.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • echifitness

    echifitness

    9 Kasım 2008
  • EminemMusic

    EminemMusic

    9 ŞUBAT 2007
  • Ryan Ha

    Ryan Ha

    9 NİSAN 2006