gpt4 book ai didi

ios - UICollectionViewController - 过度滚动/无垂直滚动问题

转载 作者:行者123 更新时间:2023-11-29 10:43:39 25 4
gpt4 key购买 nike

我正在制作一份简报,其中涉及构建一个水平 ScrollView ,其中包含许多锻炼和练习。

我已经走上了在 UIView 中使用 UICollectionView 的路线,因为这听起来很适合我的需要。

我已经有一个显示我的自定义单元格的水平 ScrollView - 我的问题是当页面滚动时它似乎滚动不足 - 即它将滚动小于页面宽度 - 所以如果我有 6当我浏览到一半时,页面不同步(偏离中心)-

enter image description here

我的第二个问题是,虽然我的 View 水平滚动 - 我无法垂直滚动以查看所有单元格。 - 我怎样才能让它发挥作用?

我的代码如下——

WO_SessionVC.H

#import <UIKit/UIKit.h>
#import "BG_Blur_ViewController.h"

@interface WO_SessionVC : BG_Blur_ViewController <UICollectionViewDelegate,
UICollectionViewDataSource,
UICollectionViewDelegateFlowLayout>
@property (weak, nonatomic) IBOutlet UICollectionView *colView;
@property (weak, nonatomic) IBOutlet UIPageControl *pager;
@end

WO_SessionVC.M

#import "WO_SessionVC.h"
#import "WOColView.h"
@interface WO_SessionVC ()
@end

@implementation WO_SessionVC

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
_pager.numberOfPages = 9;
}

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

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

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
CGFloat pageWidth = _colView.frame.size.width;
_pager.currentPage = _colView.contentOffset.x / pageWidth;
}

- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView
cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
// Dequeue a prototype cell and set the label to indicate the page
WOColView *cell = [collectionView
dequeueReusableCellWithReuseIdentifier:@"CellWO"
forIndexPath:indexPath
];

return cell;
}

Storyboard设置截图-

enter image description here

最佳答案

您的 UICollectionView 使用默认的“流”布局,它只支持在一个方向上滚动 - 您不能使用流布局并在水平和垂直方向上滚动。

要实现双向滚动,您需要更改布局。幸运的是,有许多现有的 StackOverflow 问题可以帮助您继续前进:

Scrolling horizontal and vertical both direction

UICollectionView scrolling in both directions

关于ios - UICollectionViewController - 过度滚动/无垂直滚动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23245370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com