- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的应用程序需要多个 CollectionViews
因此我决定以编程方式创建它们。我向每个单元格添加了一个 UILabel
,但是 UILabel 仅添加到随机 cell
,而其他单元格不显示任何标签。
如果我上下滚动,textLabels 在某些单元格中随机消失并重新出现在其他单元格中。这是问题的直观描述
(注意标签在我向下滚动时消失了)
我需要所有单元格来显示文本标签。
这是我使用的代码:
我 View Controller
override func viewDidLoad() {
super.viewDidLoad()
let frame = CGRect(x: 0 , y: 50 , width: 375 , height: 300)
let layout = UICollectionViewFlowLayout()
let collectionView = UICollectionView(frame: frame , collectionViewLayout: layout)
collectionView.delegate = self
collectionView.dataSource = self
collectionView.register(CustomCell.self, forCellWithReuseIdentifier: NSStringFromClass(CustomCell.self))
view.addSubview(collectionView)
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 250 }
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell( withReuseIdentifier: NSStringFromClass(CustomCell.self), for: indexPath) as! CustomCell
cell.nameLabel.text = "XYZ"
return cell
}
II 自定义单元格
class CustomCell: UICollectionViewCell {
var nameLabel: UILabel!
override init(frame : CGRect) {
super.init(frame : frame)
nameLabel = UILabel(frame: self.frame)
nameLabel.textAlignment = .left
nameLabel.textColor = .black
contentView.addSubview(nameLabel)
contentView.backgroundColor = .red
}
required init(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
是什么导致了这种异常行为?我是否错误地设置了 collectionView
?
最佳答案
你在这一行 nameLabel = UILabel(frame: self.frame)
中做错了,实际上你给出的位置与 Collection View 单元格的位置(x 和 y 坐标)相同,这是错误的。你需要给 nameLabel 的位置 x=0 和 y=0,然后它就可以正常工作。定义 nameLabel 的框架如下:
var nameLabel: UILabel = UILabel(frame: CGRect.zero)
override init(frame : CGRect) {
super.init(frame : frame)
nameLabel.frame.size = CGSize(width: self.frame.width, height: self.frame.height)
}
输出如下:
关于ios - 以编程方式将 UILabel 添加到 CollectionViewCells,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46023284/
我有一个自定义 TagCollectionViewCell,它是一个自定义 UICollectionViewCell。在 .xib 时代,我曾经通过 UINib 实例化,但现在使用 Storyboar
不幸的是,我继续遇到约束问题......我绝对是我的问题,但我真的无法理解它们...... 我创建了一个带有自定义单元格的 UICollectionView。 在单元格内,我插入了一个带有所有约束的
在我的应用程序中,我将使用 Collection View ,但我遇到了问题。我在 Storyboard中设计了 Collection View 。我在 View Controller 中插入了一个
我正在使用连接到 CVCell 的 CollectionView 和捏合手势。我在单元格中有一张图像,并且捏合手势放大和缩小图像。我的问题是捏合手势仅适用于偶数行,不适用于奇数行。我的意思是,对于第一
我想隐藏被点击的单元格中的标签,而是显示图像。但我只想在具有特定索引的单元格已设置为 imageView 时才执行此操作。如果单元格设置为 imageView 或不设置,寻址单元格和存储的最佳方式是什
我希望每个 CollectionViewCell 显示图像并在点击时隐藏标签。但是,如果用户滚动图像,则会突然在其他未触摸过的过程中显示。如何识别某些细胞? override func collect
我正在尝试创建一个activityCell,因此当用户到达按钮时,它将显示一个带有事件指示器的单元格。这似乎工作正常,但是如果 moreDataAvailable 为 false 它应该删除此单元格。
我在 CollectionViewCell 中有 2 个标签和 1 个 ImageView 。我可以在单元格中设置图像,但无法在单元格中设置标签。 CollectionViewCell 类: clas
我正在制作一个程序,单个 View Controller 有两个 Collection View 。我已成功填充顶 View Controller ,但在添加第二个 Controller 时,我无法正
我水平滚动 CollectionView 单元格数量未知,它占据了除导航栏之外的整个屏幕。还有 CollectionViewCell,它占用整个 CollectionView。另外,在这个单元格内,我
我有一个布局,它使用多个collectionviewcells来布局。目前我使用的是静态高度,但众所周知,无法确定内容的大小,特别是在我的情况下,因为它将是占据单元格大部分的文本。我无法找到一种准确的
我正在发送从 collectionView 中选择的图像。问题是应用程序总是发送先前选择的图像。 indexPath 有什么问题? 这是 didSelectItemAt 函数: override fu
到目前为止,我一直在成功使用 UITableViews,但我无法让 UICollectionView 工作。 @interface NewsCollectionViewDataSource : NSO
我正在尝试在我的 Collection View 单元格内绘制一个简单的轮廓圆圈。由于某种原因,只有第一个单元格被绘制,其余的没有显示。 class UserCell: UICollectionVie
我使用 Xib 文件创建了一个 Collection View 单元格。我只有一个单元格,但该单元格显示在 collectionView 的中心。我想在 collectionView 的起始位置显示单
我有一个非常简洁的动画,它基本上为 Collection View 单元格绘制了一个边框。 我的动画运行良好,但我无法阻止它无限期地重复。 在:func collectionView(collecti
我一直在寻找学习这个 link 中的 Collection View 一天。在此链接中,它有 viewcontroller.h,.m 和 CustomCollectionCell.h,.m。 他们为什
我有 3 个单元格的 Collection View 。我在它们上面显示图像,但是,因为从服务器获取图像数据需要几秒钟,所以我使用 nsuserdefaults 和缓存。 let imagesFrom
我在使用 uicollectionview 时遇到问题。当我做一个collectionviewcell,在collectionviewcell里做一个uilabel的时候,突然uilabel不见了。
我已经为我的 UICollectionViewCell 设置了一个 UIPanGestureRecognizer,它应该像您经常在 UITableViewCells 中看到的那样工作,显示内容下方的控
我是一名优秀的程序员,十分优秀!