扫码关注官方订阅号
图1 点击导航栏上一个item(漏洞状左边)可以切换排列方式
图2 变成图2这种排列,这种怎么做。而且点击了切换item之后没有等待,直接更新的。不像是重新发送了请求。
闭关修行中......
这里有个Demo
涉及到:UICollectionView的这个方法
(UICollectionViewTransitionLayout )startInteractiveTransitionToCollectionViewLayout:(UICollectionViewLayout )layout
还有:UICollectionViewTransitionLayout这个类.
修改item的size之后reload就可以直接切换了
你好我问题有点多:你指的是哪个item的size? 是导航栏的吗?导航栏的item有size这个属性?
两个页面都用 UICollectionView来做,第一个看似表格,其实用UIColectionView也能做出来,UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayoutUICollectionView 是通过这3个协议中的方法来实现的,
定义个Bool变量,来切换效果1与效果2, 在上面的3个协议的方法中,用if Bool {...} else {...}来给UICollectionView 赋予不同的形态点击导航栏的item后,Bool变量发生变化,reload
PS: UI变化,要放在主线程中
和楼上的答案差不多,俩个样式都用UICollectionView,准备两个样式的cell,在UICollectionViewDelegateFlowLayout的代理方法
(CGSize)collectionView:(UICollectionView )collectionView layout:(UICollectionViewLayout)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath{ //self.isStyle1,用于判断是那种样式, if (self.isStyle1) {
//高度自己设置,这里设置为40 return CGSizeMake(collectionView.frame.size.width, 40);
} else {
//样式2 return CGSizeMake(collectionView.frame.size.width/2, 40);
}}
//在创建 cell 的代理中逻辑一样就不写了//点击导航上的 item,self.isStyle1取反,reloadData
提供两种不同的CollectionViewCell,点击后修改cell,reloadData
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
这里有个Demo
涉及到:UICollectionView的这个方法
(UICollectionViewTransitionLayout )startInteractiveTransitionToCollectionViewLayout:(UICollectionViewLayout )layout
还有:UICollectionViewTransitionLayout这个类.
修改item的size之后reload就可以直接切换了
你好我问题有点多:你指的是哪个item的size? 是导航栏的吗?导航栏的item有size这个属性?
两个页面都用 UICollectionView来做,第一个看似表格,其实用UIColectionView也能做出来,
UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout
UICollectionView 是通过这3个协议中的方法来实现的,
定义个Bool变量,来切换效果1与效果2, 在上面的3个协议的方法中,用
if Bool {...} else {...}
来给UICollectionView 赋予不同的形态
点击导航栏的item后,Bool变量发生变化,reload
PS: UI变化,要放在主线程中
和楼上的答案差不多,俩个样式都用UICollectionView,准备两个样式的cell,在UICollectionViewDelegateFlowLayout的代理方法
(CGSize)collectionView:(UICollectionView )collectionView layout:(UICollectionViewLayout)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
//self.isStyle1,用于判断是那种样式,
if (self.isStyle1)
{
}
else
{
}
}
//在创建 cell 的代理中逻辑一样就不写了
//点击导航上的 item,self.isStyle1取反,reloadData
提供两种不同的CollectionViewCell,点击后修改cell,reloadData