草庐IT

UiCollectionView

全部标签

swift - 截取 UICollectionView 的全部内容

我正在开发的应用程序使用CollectionView单元格向用户显示数据。我希望用户能够共享单元格中包含的数据,但通常有太多单元格无法尝试调整大小并适合单个iPhone屏幕大小的窗口并获取屏幕截图。所以我遇到的问题是试图获取CollectionView中所有单元格的图像,包括屏幕上和屏幕外。我知道屏幕外的单元格实际上并不存在,但我会对一种伪造图像并绘制数据的方法感兴趣(如果可能的话)。简而言之,有没有一种方法可以使用Swift在屏幕上和屏幕外以编程方式从CollectionView及其包含的单元格创建图像? 最佳答案 更新如果内存不

ios - 删除 Realm 对象后更新 UICollectionView

当我尝试从Realm数据库中删除项目时,我无法适本地更新UICollectionView。让我们假设一个Realm容器children类型List:varchildren=realm.objects(Parent).first!.children当我想通过以下方式从数据库中删除这个child时:try!realm.write{realm.delete(children[indexPath.row])}通过collectionView.deleteItemsAtIndexPaths([indexPath])更新collectionView给出以下错误:Goterror:***Termin

ios - swift - UICollectionView 或 UIImage - 如何防止图像缓存

我有一个UICollectionView,在网格模式中有4个cells,没有滚动。每个单元格都有一个imageView。images存储在Assets文件夹中,并通过名称引用检索(见下文)。经过一些UI操作后,想法是collectionView.reloadData()并替换每个cell中的image。一切正常,但内存使用在每次重新加载后一直攀升。我曾假设reloadData()会转储不必要的data,但这种经历让我感到困惑。发生了什么?如果有帮助,我在某处读到用加载图像UIImage(name:...)缓存图像。我试图确认这一点,但还是一片空白。我的代码非常简单,所以我想知道这是否是

ios - 在 Swift 中将 UICollectionView 转换为 UIView

当我尝试将CollectionView用于UIView时遇到问题。这是我的观点的代码示例。classCampanasView:UIView,UICollectionViewDelegate,UICollectionViewDataSource{@IBOutletweakvarcollectionView:UICollectionView!classfunccreate()->CampanasView{letnib=UINib(nibName:"CampanasView",bundle:nil)letview=nib.instantiate(withOwner:self,options:

ios - UICollectionView 不遵守 UICollectionViewDelegateFlowLayout 和插图

所以我有一个具有以下代码的CollectionView:classMyViewController:UIViewController{...@IBOutletweakvarimageCollectionView:UICollectionView!fileprivateletsectionInsets=UIEdgeInsets(top:1,left:1,bottom:1,right:1)fileprivateletitemsPerRow:CGFloat=3...overridefuncviewDidLoad(){super.viewDidLoad()imageCollectionView

ios - Swift:UICollectionView 图像加载

我有一个问题。由于单元格中图像的大小,我的UICollectionView的滚动速度太慢。图像的调整大小功能几乎没有任何变化。由于图像的数量,我无法制作图像的小副本。那么如果我需要像在原生相册应用程序中一样快速加载图像,我该怎么办?我听说过“延迟加载”,但我在Swift中找不到任何关于它的教程。这是我的cellForItemAtIndexPath:letcell:MyCollectionViewCell=collectionView.dequeueReusableCellWithReuseIdentifier("MyCell",forIndexPath:indexPath)as!MyC

swift - UICollectionView 显示按钮数组 Swift

我一直在努力弄清楚如何使用UICollectionView来显示UIButtons数组。每个按钮都有自己的(不同的)Action、图像、标题等。当按下按钮(覆盖CollectionView中的整个单元格)时,该按钮将被删除,并执行Action。我是Swift的新手,不知道从哪里开始,我知道我的代码是错误的,但我还是会添加它:importUIKitletreuseIdentifier="cell"classCollectionViewController:UICollectionViewController{varbuttons=[UIButton]()overridefuncviewD

swift - 如何移动到 UiCollectionView 中的选定单元格

我是Swift的新手,请多多包涵。我创建了一个水平滚动的UICollectionView,我的问题是:如何以编程方式移动到选定的图标?我已经使用了didSelectedPath,下一步是什么? 最佳答案 您需要调用scrollToItemAtIndexPath函数:Scrollsthecollectionviewcontentsuntilthespecifieditemisvisible.funcscrollToItemAtIndexPath(_indexPath:NSIndexPath,atScrollPositionscroll

ios - Swift 3 如何为索引 UICollectionView 中的每个项目显示不同的数据

我在我的应用程序中制作了一个UICollectionView,但我无法弄清楚如何为每个单元格显示不同的数据,我卡在Storyboard中设置的相同图像上我所做的搜索没有得到任何教程,但我知道我在UICollectionViewCell自定义类中自定义了我的数据classCollectionViewCell:UICollectionViewCell{//drawingablankhere...}如果你能帮助我,我只想为每个单元格放置一个按钮、两个图像和几个标签(2-3)(大约有12个单元格,我需要它们为每个单元格提供不同的数据,因为我我正在尝试制作角色选择屏幕)用我现在的设置classC

ios - UICollectionView invalidateLayout 不会在屏幕方向更改时触发 sizeForItem

我有一个UICollectionViewController,它有一堆单元格,每个单元格都有屏幕尺寸。如果我以纵向或横向启动应用程序,一切都会按预期进行。问题是当我更改屏幕方向并调用collectionViewLayout.invalidateLayout()时,单元格大小保持不变,没有调整它们的大小。我不知道为什么会这样。这是一些代码:funccollectionView(_collectionView:UICollectionView,layoutcollectionViewLayout:UICollectionViewLayout,sizeForItemAtindexPath:I