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

  • case LianLi

    case LianLi

    28 Mayıs 2010
  • Damien Walters

    Damien Walte

    20 AĞUSTOS 2006
  • sghaff1

    sghaff1

    23 Mart 2009