swift——collectionview文本的横向滚动显示

本文介绍了在Swift中如何使CollectionView展示一行数据并实现横向滚动。通过调整ScrollDirection属性为Horizontal并未达到预期效果,问题出在CollectionView的布局上。通过继承UICollcectionViewDelegateFlowLayout并自定义布局,最终解决了显示和滚动的问题,实现了类似滑动导航栏的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提到collectionview,很多人都会想到用他作为图片的显示。那么如何让collectionview显示为一行的数据,并可以横向的滚动,很快我们想到可以在xcode中,使用故事板修改属性,将ScrollDirection 修改为Horizontal,如图所示:


但是当我们运行后,发现依然没法显示为一行的数据,显示为两行的数据,而且更奇怪的是,明明自己设置的是横向滚动,但是每相隔的两个cell布局都是上下布局,:


将ScrollDirection 修改为Vertical,依然没效,只是该变了cell的布局方式-横向布局。整个人都不好了。。。。。


既然这样,我们可能会想到是不是因为sections设置为2了或是每一行的设置项目数过少了,修改函数:   

 //段数

 override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {

        return 1

        

  }

override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

return 500

}

可是运行后依然没有改变,我都设置为一行的sections ,可他依然显示为两行数据,只好另想办法了,也尝试修改

collectionview的contentsize,但依然没效。大哭

后来发现了原来可以通过修改collectionview的布局方式来重新布局,

首先,我们需要继承UICollcectionViewDelegateFlowLayout这个类,如图:


实现方法:


当然最后要记得将ScrollDirection属性修改为Horizontal。

这样一来,当我们再次测试时,界面就变成一行了,终于搞定,可以横向滚动:


当然我们可以更近一步,做成滑动的导航栏,点击和滑动改变页面的显示内容。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值