UICollectionView Swift中的自定义布局

UICollectionView Swift中的自定义布局,swift,uicollectionview,uicollectionviewlayout,collectionview,Swift,Uicollectionview,Uicollectionviewlayout,Collectionview,我需要真正的帮助 我需要在UICollectionView中使用自定义布局,并希望获得类似图像的布局: 如何在swift中获取此布局?是否需要滚动视图?或者是固定的?, 因为如果你不滚动,你可以使用不同的宽度乘数 但是如果必须滚动,您可以使用UICollectionView中的委托方法使用并更改单元格的大小是否需要滚动视图?或者是固定的?, 因为如果你不滚动,你可以使用不同的宽度乘数 但是,如果必须滚动,则可以使用UICollectionView中的委托方法使用和更改单元格的大小。如果项目大小

我需要真正的帮助

我需要在UICollectionView中使用自定义布局,并希望获得类似图像的布局:


如何在swift中获取此布局?

是否需要滚动视图?或者是固定的?, 因为如果你不滚动,你可以使用不同的宽度乘数


但是如果必须滚动,您可以使用UICollectionView中的委托方法使用并更改单元格的大小

是否需要滚动视图?或者是固定的?, 因为如果你不滚动,你可以使用不同的宽度乘数


但是,如果必须滚动,则可以使用UICollectionView中的委托方法使用和更改单元格的大小。如果项目大小相同,则可以使用UICollectionViewFlowLayout并设置其
项目大小

如果项目大小不同,则可以使用UICollectionViewFlowLayout 并实现其
collectionView:layout:sizeFormiteIndeXPath:
delegate方法以返回所需的大小


顶部的横条可以是
UICollectionElementKindSectionHeader
,也可以是更大的单元格。

如果项目大小相同,可以使用UICollectionViewFlowLayout并设置其
项目大小

如果项目大小不同,则可以使用UICollectionViewFlowLayout 并实现其
collectionView:layout:sizeFormiteIndeXPath:
delegate方法以返回所需的大小


顶部的横条可以是
UICollectionElementKindSectionHeader
,也可以是更大的单元格。

对于需要滚动布局的用户,可以尝试ScrollableStackView库。以下是github页面:

以下是一些示例代码:

Swift

import ScrollableStackView

var scrollable = ScrollableStackView(frame: view.frame)
view.addSubview(scrollable)

// add your views with 
let rectangle = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 55))
rectangle.backgroundColor = UIColor.blue
scrollable.stackView.addArrangedSubview(rectangle)
// ...
目标-C

@import ScrollableStackView

ScrollableStackView *scrollable = [[ScrollableStackView alloc] initWithFrame:self.view.frame];
scrollable.stackView.distribution = UIStackViewDistributionFillProportionally;
scrollable.stackView.alignment = UIStackViewAlignmentCenter;
scrollable.stackView.axis = UILayoutConstraintAxisVertical;
[self.view addSubview:scrollable];

UIView *rectangle = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 55)];
[rectangle setBackgroundColor:[UIColor blueColor]];

// add your views with
[scrollable.stackView addArrangedSubview:rectangle]; 
// ...

希望它能帮助一些人。

对于需要滚动布局的人,可以尝试ScrollableStackView库。以下是github页面:

以下是一些示例代码:

Swift

import ScrollableStackView

var scrollable = ScrollableStackView(frame: view.frame)
view.addSubview(scrollable)

// add your views with 
let rectangle = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 55))
rectangle.backgroundColor = UIColor.blue
scrollable.stackView.addArrangedSubview(rectangle)
// ...
目标-C

@import ScrollableStackView

ScrollableStackView *scrollable = [[ScrollableStackView alloc] initWithFrame:self.view.frame];
scrollable.stackView.distribution = UIStackViewDistributionFillProportionally;
scrollable.stackView.alignment = UIStackViewAlignmentCenter;
scrollable.stackView.axis = UILayoutConstraintAxisVertical;
[self.view addSubview:scrollable];

UIView *rectangle = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 55)];
[rectangle setBackgroundColor:[UIColor blueColor]];

// add your views with
[scrollable.stackView addArrangedSubview:rectangle]; 
// ...
希望它能帮助别人