UICollectionView水平滚动不滚动直到最后一项

时间:2015-10-23 09:22:14

标签: ios objective-c uicollectionview horizontal-scrolling

我遇到了一个问题,即我无法滚动到水平UICollectionView中的最后一项。我该如何解决这个问题?以下是我的视频和我的项目文件的链接,因为它很难解释。希望有人可以帮我解决这个问题。

提前谢谢。

https://drive.google.com/file/d/0BwvEaCrhg6dTbkdTRUYwTjhNN2c/view?usp=sharing

https://youtu.be/8WVyrUl4qfQ

这是我的UIViewcontroller的代码,它有UICollectionView:

@synthesize dummyArrayImage,dummyArrayLabel,dummyDictionary,dummyArrayDescriptionLabel;

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    dummyArrayImage = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",@"4",@"5", nil];
    dummyArrayLabel = [[NSArray alloc] initWithObjects:@"RM 3.00",@"RM 10.00",@"RM 5.90",@"RM1.20",@"RM 8.10", nil];
    dummyArrayDescriptionLabel = [[NSArray alloc] initWithObjects:@"Tesco Choco Milk",@"Tesco Sardin",@"Ayam Goreng",@"Ikan Pari",@"Itik", nil];
    dummyDictionary = @{@"image":dummyArrayImage, @"label":dummyArrayLabel, @"description":dummyArrayDescriptionLabel};

    NSLog(@"dummy dictionary : %@", dummyDictionary);
    NSLog(@"dummy array : %@", dummyArrayImage);
    NSLog(@"dummy array count : %d", (int)dummyArrayImage.count);
    NSLog(@"dummy dictionary count : %d", (int)dummyDictionary.count);

}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark - UICollectionView

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

- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
    return dummyArrayImage.count;
}

// The cell that is returned must be retrieved from a call to -dequeueReusableCellWithReuseIdentifier:forIndexPath:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath  {

    TezCollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"cell identifier" forIndexPath:indexPath];

    UIImage *contentImage = [UIImage imageNamed:dummyArrayImage[indexPath.row]];

    cell.contentImageView.image = contentImage;
    cell.titleLabel.text = dummyArrayDescriptionLabel[indexPath.row];
    cell.descriptionLabel.text = dummyArrayLabel[indexPath.row];

    return cell;

}

2 个答案:

答案 0 :(得分:2)

我自己想通了。出现此问题是因为我使用了autolayout。我尝试使用autolayout约束,突然它按预期工作。感谢所有回答我问题的人。你们好棒。干杯。

答案 1 :(得分:0)

在UICollectionView中添加Top,Bottom Trailing和Leading Constraint已经为我解决了这个问题!