SORU
3 ŞUBAT 2013, Pazar


UİCollectionView üzerinde UİRefreshControl koleksiyonu kabın yüksekliği doldurur gösterir.

Koleksiyon görünümü üst konteynerinde yüksekliği doluyor tabii ama sorunu yenileme kontrol görünmüyor. UICollectionView UIRefreshControl eklemek için çalışıyorum. Koleksiyon görünümü kaydırmak istemek yeterince uzun değilse, diğer bir deyişle, yenileme kontrol görünümü ortaya çıkarmak için aşağı çekti edilemez. Koleksiyon üst konteynerinde yüksekliği aşar aşmaz, aşağı çekti ve yenileme görünüm ortaya koymaktadır.

Ben kurmak hızlı bir iOS projesi ile sadece UICollectionView içindeki ana görünümünde, bir prize koleksiyonunu görmek böylece ben ekleme UIRefreshControlviewDidLoad. Ayrıca cCell tanımlayıcı yeniden ile prototip bir cep var

Bu kontrolör tüm kod ve sorunu oldukça iyi gösterir. Bu kod ekranı doldurmak için yeterli değil 100, hücrenin yüksekliğini ayarladım, ve bu nedenle çekti olamaz görünüm ve yenileme kontrol göstermez. Bir şey daha doldurmak için ayarlayın görüntü, o zaman çalışır. Herhangi bir fikir?

@interface ViewController () <UICollectionViewDelegateFlowLayout, UICollectionViewDataSource>
@property (strong, nonatomic) IBOutlet UICollectionView *collectionView;
@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
    [self.collectionView addSubview:refreshControl];
}

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView {
    return 1;
}

-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
    return 1;
}

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    return [collectionView dequeueReusableCellWithReuseIdentifier:@"cCell" forIndexPath:indexPath];
}

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

CEVAP
4 ŞUBAT 2013, PAZARTESİ


Bunu deneyin:

self.collectionView.alwaysBounceVertical = YES;

UIRefreshControl kod tamamlama

UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
refreshControl.tintColor = [UIColor grayColor];
[refreshControl addTarget:self action:@selector(refershControlAction) forControlEvents:UIControlEventValueChanged];
[self.collectionView addSubview:refreshControl];
self.collectionView.alwaysBounceVertical = YES;

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • NikkoNantone

    NikkoNantone

    21 Kasım 2011
  • SalGames2016

    SalGames2016

    17 Kasım 2012
  • TROPFEST

    TROPFEST

    27 Mart 2007