gpt4 book ai didi

ios - itemSize 没有使用 setCollectionViewLayout(toLayout, animated : true);

转载 作者:搜寻专家 更新时间:2023-10-31 23:05:25 25 4
gpt4 key购买 nike

您好,我正在尝试使用 UICollection View 并让它们具有多个布局。

当我使用 swift/obj-cs setCollectionViewLayout(toLayout, animated: true);动画确实重新排列了单元格,但单元格中的项目跳到了最终大小,而不是随着单元格逐渐增大,最终结果是动画看起来很糟糕。

这是我正在切换的两种布局:

{
override init()
{
super.init()
minimumLineSpacing = 20.0;
minimumInteritemSpacing = 0.0;
itemSize = CGSizeMake(80.0, 80.0)
sectionInset = UIEdgeInsetsMake(20.0, 60.0, 20.0, 60.0)
}


required init(coder: NSCoder) {
fatalError("NSCoding not supported")
}

还有一个:

{
override init()
{
super.init()
minimumLineSpacing = 10.0;
minimumInteritemSpacing = 10.0;
itemSize = CGSizeMake(150.0, 150.0)
sectionInset = UIEdgeInsetsMake(20.0, 20.0, 20.0, 20.0)
}


required init(coder: NSCoder) {
fatalError("NSCoding not supported")
}

以及用于更改布局的代码:

func changeLayoutWithLayout(toLayout:UICollectionViewFlowLayout)
{
self.setCollectionViewLayout(toLayout, animated: true);

}

有没有办法让 itemSize 正确地设置动画?或者为过渡创建我自己的自定义动画?我尝试执行 batchupdates 方法,但这给了我相同的结果,即项目大小跳转到其最终值。

最佳答案

我发现 UIColletionViewCellUIColletionViewCell.contentViewsetCollectionViewLayout(toLayout, animated: true) 调用的动画期间有不同的行为,单元格的当 contentView 跳到最终大小时,大小逐渐增加。但苹果建议内容 View 是您应该添加单元格自定义内容的主视图。

关于ios - itemSize 没有使用 setCollectionViewLayout(toLayout, animated : true);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25435801/

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