- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个自定义的 UICollectionView
并且单元格加载到 cellForItemAt 中但是当我尝试使用 visibleCells
获取所有可见单元格时我没有获取所有单元格.
例如,在 cellForItemAt
中,我将单元格中标签的 alpha 设置为 0
。平移时,我希望这些标签的 alpha 更改为 1
:
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
handleLabel(scrollView, active: true)
}
func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
if pickerIsActive { handleLabel(scrollView, active: false) }
}
private func handleLabel(_ scrollView: UIScrollView, active: Bool) {
guard let pickerView = scrollView as? UICollectionView else { return }
let cells = pickerView.visibleCells.flatMap { $0 as? CustomCell }
panningIsActive = active
UIView.animate(duration: 0.3) {
cells.forEach { $0.label.alpha = $0.isSelected || active ? 1 : 0 }
}
}
和 cellForItemAt:
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! CustomCell
cell.label.alpha = 0
return cell
}
我该怎么做才能更改所有“已加载”单元格而不仅仅是“可见”单元格?
最佳答案
visibleCells 只是屏幕上的单元格。这曾经是在 cellForItem:at: 中初始化的所有内容,但从 iOS 10 开始,UICollectionView 现在会预取以提高滚动性能(see WWD 2016 video),这也许是您遇到此问题的原因。无论如何,听起来您想要做的就是让单元格在屏幕上出现时淡入动画。您可以将动画逻辑移动到 willDisplayCell或子类 UICollectionViewCell。 UIColectionViewCell 继承自 UIView,因此可以覆盖 didMoveToSuperView在您的 UICollectionViewCell 中并在那里调用您的动画方法,这将导致单元格在出现时进行动画处理。
关于swift - 单元格加载到 cellForItemAt 中,但未加载到 visibleCells 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41454880/
我遇到了一个问题,其中 CellIsInVisibleRange函数选择它不应该选择的单元格。 循环的代码如下: wCount = 0 loopCount = 0 For Each w
我正在使用 UITableViewController。 UITableView 显示 11 个自定义单元格。其中 10 个是动态的,1 个是静态的。 尽管如此计算行数: let cells = se
override func viewDidDisappear(_ animated: Bool) { tableView.visibleCells.forEach {
我正在尝试在 xcode 4.5 中使用自动化编写测试脚本。 我有一个 UICollectionView,我想点击一些当前不可见的单元格。 Per documentation ,我应该期望 cells
我正在尝试在初始加载时为表格 View 单元格设置动画。动画适用于所有单元格,除了表格底部的最后一个单元格拒绝动画。 这是因为 UITableView.visibleCells 最后没有返回这个单元格
我有许多自定义单元格对象(UITableViewCell 的子类),其中包含一些值,以允许用户在单个单元格(如步进器或其他东西)内进行交互。这些值存储在自定义单元格类中,因为调用 TableView
一个明显可见且全宽的内容 TableView 怎么会没有可见的单元格?为什么 tableview.visibleCells 为空? 最佳答案 我最好的猜测是,您在表格 View 有机会填充自身之前调用
目前我有包含 4 个单元格的 Collection View 。这是一个水平 collectionView,每个显示一个单元格,因此每次有一个单元格应该显示自己。当我旋转我的设备时,每个屏幕一个单元格
我有一个实现延迟加载的 UICollectionView, - (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
NSArray * arrayOfVisibleTVC=[BNUtilitiesQuick ListController].tableViewA.visibleCells; NSLog(@"array
当单元格进出设备屏幕时,我希望我的 viewController 准确知道什么进来了,什么出去了。有办法做到这一点吗? 最佳答案 没有专门针对“可见单元格”的委托(delegate)方法。当单元格离开
我有一个 tableView。我使用 CADisplayLink 调用一些滚动 tableView 的代码。我这样做是因为我想自定义滚动所需的时间,而不是使用 UITableView 方法。 我想要一
在 Collection View 中,我想知道 Collection View 中显示的第一项。我想我会查看 visibleCells 并将成为列表中的第一项,但事实并非如此。 最佳答案 针对 Sw
我想知道 UICollectionView 的 visibleCells 属性的计数何时更改。我知道我可以观察继承自 NSObject 的对象,只要我想观察的属性是 dynamic。例如: let v
我创建了一个custom UITableViewCell包含一个collectionView。此自定义单元格符合 UICollectionViewDelegate 和 UICollectionView
当我打印可见单元格时,它会显示两种类型的单元格,请参见下文po cells ▿ 2 elements - 0 : > ▿ 1 : > 但是当我尝试获取单元格对象时,它返回 false (lldb) p
我想对可见单元格进行更改,以便它们反射(reflect)对基础业务对象(数组中的对象,与表中单元格的索引和数组中的对象相关)所做的更改。 我只需要找出表中单元格的索引或indexPath。因此,如果有
我正在使用间隔为 1.1 秒的 NSTimer,计时器正确触发,但(大部分)在滚动 UITableView.visibleCells 时不更新响应,响应包含不可见的单元格。 下面是我的 Swift 代
我有一个自定义的 UICollectionView 并且单元格加载到 cellForItemAt 中但是当我尝试使用 visibleCells 获取所有可见单元格时我没有获取所有单元格. 例如,在 c
我的 Collection View 就像上面一样,当选定的单元格全部消失时我正在调用一个 Action : - (IBAction)clearAction:(UIButton *)sender {
我是一名优秀的程序员,十分优秀!