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

  • Bryan Smith

    Bryan Smith

    12 Mart 2006
  • Orson Wang

    Orson Wang

    28 EKİM 2006
  • Study with Substance P

    Study with S

    31 Mayıs 2008