天道酬勤,学无止境

uicollectionview

iOS UICollectionView 水平滚动矩形布局,具有不同大小的项目?(iOS UICollectionView Horizontal Scrolling Rectangular Layout with different size of items?)

问题 iOS UICollectionView 如何创建具有不同大小项目的水平滚动矩形布局。 我想使用 UICollectionView 创建一个矩形布局,如下所示。 我怎样才能实现? 当我使用CollectionView水平滚动时,1,2,3,4,5,6 网格将一起滚动以带来 7。 以下是 320*480 iPhone 分辨率的尺寸。 下面更新了屏幕。 前 6 件商品的尺寸低于 iPhone 5s。 Item 1 Size is - (213*148) Item 2 Size is - (106*75) Item 3 Size is - (106*74) Item 4 Size is - (106*88) Item 5 Size is - (106*88) Item 6 Size is - (106*88) 在 item6 具有与集合视图相同的尺寸后,如下所示的宽度和高度。 Item 7 Size is - (320*237) Item 8 Size is - (320*237) Item 9 Size is - (320*237) 如何使用具有水平滚动功能的集合视图创建简单的自定义布局? 必须感谢快速解决方案。 提前致谢。 回答1 我建议在 CollectionViewCell(固定尺寸)中使用 StackView 来创建网格布局,如您的帖子所示。

2021-10-27 03:28:33    分类:技术分享    ios   swift   uicollectionview   uicollectionviewlayout   uicollectionviewflowlayout

如何更改水平滚动集合视图中单元格之间的水平间距(How do I change the horizontal spacing between cells in a horizontal scroll collection view)

问题 我有一个集合视图,它基本上是一个水平表视图。 这是一行左右滚动的单元格。 有点像没有花哨动画的旋转木马。 我希望能够控制细胞之间的距离。 在界面构建中有一个属性可以做到这一点。 它在集合视图流布局中,在检查器中(在带有小标尺的选项卡中,您通常会看到约束)。 它被称为Min. Spacing Min. Spacing有两种变体: For Cells和For Lines 。 我更改了For Cells的值,但它不影响间距。 更改参数minimumInteritemSpacing或使用集合视图回调也不会在每个部分的基础上指定该参数。 帮助! 回答1 答案是,在水平滚动的集合视图中,单元格之间的距离,甚至是水平距离,似乎minimumLineSpacing CollectionViewFlowLayout 的For Lines参数(在 IB 中)或minimumLineSpacing参数控制。 这个答案也隐藏在一些答案中我看到了更多关于集合视图中单元格间距的一般问题:https://stackoverflow.com/a/48791318/826946 和 https://stackoverflow.com/a/37420529/826946 我决定把它分成一个单独的问题,直接解决水平滚动集合视图的问题。

2021-10-27 01:34:38    分类:技术分享    ios   uicollectionview   uicollectionviewlayout

UICollectionView and Parse Images ( Swift ) No Error but Crash

The program launched and displayed the images from parse with no error, when i ran it again it crashed. My question is if it is because the images aren't scaled to the correct size of the custom cell. here is the error: the item width must be less than the width of the UICollectionView minus the section insets left and right values. fatal error: Array index out of range here is my function: // Get Brands func getBrand () { // Create PFQuery var query:PFQuery = PFQuery(className: "BrandInfo") // Call findobjects query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error: NSError?) ->

2021-10-27 00:07:31    分类:问答    swift   uicollectionview

Xamarin Forms:如何更改 Collectionview SelectedItem 的文本颜色?(Xamarin Forms: How to Change the textcolor of Collectionview SelectedItem?)

问题 我有一个CarouselPage有 5 个孩子,每个孩子都有一个水平集合视图。 在Collectionview中选择项目或滑动页面时,我需要给不同的文本颜色并需要为所选项目添加下划线。 我试过如下: CarouselHomePage.cs public partial class CarouselHomePage : CarouselPage { public List<Activity> activityList { get; set; } public CarouselHomePage() { InitializeComponent(); activityList = new List<Activity>(); AddActivities(); MessagingCenter.Subscribe<App, string>((App)Xamarin.Forms.Application.Current, "child", (s, child) => { CurrentPage = Children[Int32.Parse(child)]; }); } private void AddActivities() { activityList.Add(new Activity() { Title = "PageNumber1" }); activityList.Add(new

2021-10-26 22:59:51    分类:技术分享    xamarin   xamarin.forms   uicollectionview   carousel

UICollectionViewCompositionalLayout 水平,使用估计而不是水平拥抱时不计算内容的宽度(UICollectionViewCompositionalLayout horizontal, not calculating width of content when using estimated and not horizontally hugging)

问题 I want the cell to horizontaly Hug its content 我在水平模式下使用UICollectionViewCompositionalLayout和widthDimension: .estimated(100)这应该计算内容大小 但单元格/组的宽度根本不是由内容大小计算的,而是设置为估计值,因为它将是一个绝对值 即使向标签添加宽度约束也不会影响单元格大小 这是预期的行为吗? 如果是,那么为什么? 以及如何得到想要的结果? class LabelCell: UICollectionViewCell { @IBOutlet weak var label: UILabel! } class ViewController: UIViewController, UICollectionViewDataSource { func buildLayout() -> UICollectionViewCompositionalLayout { let itemSize = NSCollectionLayoutSize(widthDimension: .estimated(100), heightDimension: .absolute(32)) let item = NSCollectionLayoutItem(layoutSize: itemSize)

2021-10-26 21:39:19    分类:技术分享    swift   cocoa-touch   uicollectionview   uicollectionviewlayout   uicollectionviewcompositionallayout

RxDataSources 集合视图单元格始终使用淡入淡出插入单元格动画,无法更改为不同的动画(RxDataSources collection view cell always uses fade for insert cell animation, can't change to a different animation)

问题 我有使用电池动画的问题RxSwift上UICollectionView ,我简单的设置如下: collectionView.register(UINib(nibName: "CustomCollectionCell", bundle: nil), forCellWithReuseIdentifier: "cell") let dataSource = RxCollectionViewSectionedAnimatedDataSource<SectionOfCustomDataAnimated>( animationConfiguration: AnimationConfiguration(insertAnimation: .bottom, reloadAnimation: .bottom, deleteAnimation: .bottom), configureCell: { dataSource, cv, indexPath, element in let cell = cv.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! CustomCollectionCell cell.colorView.backgroundColor = element.color return cell })

2021-10-26 21:04:25    分类:技术分享    ios   swift   uicollectionview   rx-swift   rxdatasources

Identifying and fixing auto layout issue from log output

I'm preparing a multi device information focused iOS app almost exclusively in interface builder storyboard. I'm using table view controllers with text or other content into static table view cells. In specific cells, I want a grid of text fields with the same height rows but various widths - depending on the length of the text field. I'm using a vertical stack view that contains horizontal stack views, all with Alignment: Fill and Distribution: Fill Proportionally. If I do not reduce the minimum font size, the grid does not appear at all on certain devices, but after a lot of fiddling, I can

2021-10-26 15:57:43    分类:问答    ios   uicollectionview   autolayout   uistoryboard   nslayoutconstraint

Self-sizing UICollectionView with UITableView with dynamic header as a cell

I have a problem with making a self sizing UICollectionView with a cell that contains UITableView with a header that has a label with dynamic height. Can someone point me out to what I need to change in the attached sample project? You can see on the screenshot that the table does not fit the view as the cell's height is currently manually set. import UIKit class ViewController: UIViewController { static let section1 = "section1" static let section2 = "section2" private weak var collectionView: UICollectionView! override func viewDidLoad() { self.navigationItem.title = "Collection View" super

2021-10-26 15:39:29    分类:问答    ios   swift   uitableview   uicollectionview   autolayout

UICollectionViewCell 的标签宽度错误 [重复](UICollectionViewCell is wrong width with label [duplicate])

问题 这个问题在这里已经有了答案: UICollectionViewLayout 不适用于 Swift 5 和 Xcode 11 中的 UIImage (2 个回答) 去年关闭。 我发现了一些奇怪的东西。 我创建了一个自定义 UICollectionViewCell 并在其中创建了一个标签。 我只对标签的顶部、前导和底部应用了自动布局。 class TestCollectionViewCell: UICollectionViewCell { @IBOutlet weak var label: UILabel! override func awakeFromNib() { super.awakeFromNib() } } 如果文本很长,它会像下面一样从屏幕上剪下来。 如果文本太长,我希望文本仅显示为“...”。 所以我像这样应用了traling自动布局。 然后, collectionViewCell 的宽度被破坏了。 这是我的代码。 我已经设置了委托,数据源。 class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() } } extension ViewController: UICollectionViewDataSource { func

2021-10-26 15:08:29    分类:技术分享    ios   swift   uicollectionview   autolayout   uicollectionviewcell

UICollectionView 不在 UITableViewCell 内滚动(UICollectionView doesn't scroll inside UITableViewCell)

问题 我在 UITableViewCell 内滚动 UICollectionView 时遇到问题。 不幸的是, CollectionView 根本不滚动。 当我尝试禁用其他 UITableViewCells 时,它可以正常工作,反之亦然。 集合视图单元: import UIKit class CategoriesCollectionViewCell: UICollectionViewCell { override init(frame: CGRect) { super.init(frame: frame) backgroundColor = .white layoutUI() } required init(coder adecoder: NSCoder) { fatalError("init(codeer:) has not been implemented") } lazy var categoriesImage: UIImageView = { let categoriesImage = UIImageView() categoriesImage.contentMode = .scaleToFill categoriesImage.layer.cornerRadius = 8.0 categoriesImage.image = UIImage(named: "pizza")

2021-10-26 13:37:57    分类:技术分享    ios   swift   uitableview   uicollectionview   uicollectionviewcell