问题标签 [uicollectionreusableview]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 通过storyboards在同一个UICollectionView中注册多个header补充视图
所以我有一个 UICollectionView,我想根据用户所处的状态来显示多个 UICollectionViewCells 和不同的标题。问题是我似乎无法在情节提要中注册多个 UICollectionResuableView(标题)视图。如果我尝试将一个注册为页脚并将其用作页眉,则应用程序将崩溃。我也看不到情节提要中的任何地方来声明部分的数量,这将缓解问题。现在我不得不使用多个 UICollectionViews 并根据我需要的标题隐藏/取消隐藏我想要显示的集合视图。有没有更好的方法来做到这一点,或者在情节提要的同一个 UICollectionView 中注册多个标题视图的方法?
swift - 确定是否拖动单元格路径 == 节标题路径
我正在实现自定义拖放,我想要的是创建单元格的副本(只是用于显示的图像)并且当此副本的位置与标题相同时,我想更改标题的背景颜色,如果该位置再次超出标题框架,则恢复他的背景颜色。
我坚持要确定正确的道路,到目前为止我得到了这个:
我在逻辑中缺少什么?
ios - 选定的单元格未在 UICollectionView 中保留。无法保存。*** 由于未捕获的异常而终止应用程序
我有一个 UICollectionView 填充我的数据库中的数据。用户选择各种单元格并按下按钮以保存信息。我无法获取要发布的数据。我究竟做错了什么?
The logs:
not sure why I get 0 twice first, but the above NSLogs are correct
As you can see from the NSLogs above, the value is getting selected initially and logs correctly but it is not retained (tho it stays highlighted) so that when the user presses the button and calls the register method the values are all null. The information the user has provided can not be saves. The app triggers an alert (or crashes is the check for nil is removed). PostActivity is working and saves as expected to database, but Post for the class Apply breaks.
I've tried a variety of fixes. Errors I get (again when check is commected out) include:
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
*** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“不能将 nil 用于 PFObject 上的键或值。使用 NSNull 作为值。
我试过 UICollectionView 数据源方法没有被调用,但正在初始化中设置
还将 itemCell 和 itemKeyA 等的属性更改为强或保留(和非原子)
我试过重新连接 UIOutlet / storyboard
这是笔尖/xib问题吗?我承认没有完全理解如何确保正确设置。
谢谢
swift - 集合视图上的非粘性标题部分单元格(补充视图)
好的,这就是斗争,标题部分单元格的默认行为是粘在集合视图框架的顶部,进行了一些挖掘并且找不到删除此默认行为的方法,如果有人有关于如何做的线索它,请分享。
这样做的主要原因是我想在 collectionView 顶部将标题显示为 UIView,因此如果部分标题不与其余部分一起滚动,那么它在 UI 体验 IMO 方面有点糟糕。
ios - UICollectionViewCells deque 返回错误的单元格
我有一个CollectionView
,我使用单元格来显示视频,并且我还在变量上存储了一些其他数据。每当我滚动时,我都会使用以下代码重用以前的单元格:
但是我注意到,当我使用indexPath
以前使用过的单元格时,我不会返回与以前相同的单元格,而是返回另一个单元格,显然是随机顺序的。我想避免在不需要时重新加载视频。
有没有办法让我使用相同的单元格indexPath
?
谢谢,卡洛斯
objective-c - 如何暂时阻止某些 UITableViewCell 被重用?(或唯一标识一个单元格,即使它已被重复使用)
我目前有一个设置,当网络进程完成时,点击一个单元会导致一个活动指示器出现在单元上。完成后,单元格会自动更新其 UI。
问题是,在这种情况下,如果用户将单元格滚动到当前被重用的屏幕上,并且当您向后滚动时,单元格要么在预先点击的 UI 中,要么在点击后的 UI 中(取决于是否处理在用户被滚动离开时完成)。
这使得正在执行的后台操作在用户看来似乎只是随机停止,但它仍在发生,只是 UI 被刷新。
因此,我正在努力解决如何暂时阻止单元格的重用,或者有什么办法可以在重用后在单元格(并且仅在该单元格上)保持一致的加载指示器?
编辑:用一些数据来保存而不是显示的想法indexPath
是朝着正确方向迈出的一步,但顺序很可能,但不能保证保持不变。
所以我想问题就变成了:当我接到代表进程完成的调用时,我需要找到一些独特的东西来识别给定的单元格。我尝试使用标签的文本,因为它是“唯一的”(99% 的时间......)但这只能保证工作,除非我也传递“唯一”标识符(标签,甚至不能保证是独一无二的)通过我的支持课程进行有趣的过山车之旅,这样它就可以在最后使用。
我尝试过的事情
1) 尝试:通过在加载时将其放置在 NSMutableArray 属性中来保留单元格,并在完成后使用委托方法将其删除,即:
结果:没有效果
2) 尝试:向 UITableViewCell(我子类化)添加一个名为isLoading
.
结果:在正确的单元格上加载指示器,但在屏幕外时也会加载其他指示器。
工作得体,但我遇到了其他随机单元格现在神秘地看起来像是正在加载的问题,因为原始单元格被重复使用来制作它们。
3) 尝试:与尝试#1相同,除了使用(唯一)单元格的标签文本:
[self.loadingCells addObject:cell.label.text];
结果:仅在正确的单元格上加载指示符,但如果在进程完成时单元格不在屏幕上,委托方法会尝试删除错误标签的文本,从而导致单元格看起来像是在永久加载。
4)然后我继续在委托方法上传递一个 NSString 并尝试比较它们并删除正确的字符串......这也给出了不可靠的结果。我认为这是因为传递给处理网络调用的类的单元格可能不会保持静态,如果我在调用提取标签文本时碰巧没有显示单元格,它会不正确。
所以我可以立即制作NSString并将其传递给我在不同课程中进行的精彩调用网络,但这太荒谬了,我已经不喜欢这个解决方案了......
ios - -layoutAttributesForDecorationViewOfKind 没有 UICollectionViewLayoutAttributes 实例
我正在使用自定义布局来获取使用 UICollectionReusableView 的子类的几个背景颜色部分。这是代码:
此代码有时会在使用 iOS 8.4.1 的设备上崩溃,并抛出:
致命异常:NSInternalInconsistencyException 没有 -layoutAttributesForDecorationViewOfKindOfKind 的 UICollectionViewLayoutAttributes 实例:路径 {length = 2,path = 2 - 0} 处的 AlbumsSectionBackgroundDecoratorView
它不会发生在模拟器中,只会发生在 iOS 8.4.1 的设备中
有任何想法吗?谢谢!
编辑
该错误似乎正在发生,导致 UICollectionView 出现背压。我避免重新加载 UICollectionView 并且似乎工作正常
objective-c - UICollectionReusableView 中的多行标签仅显示为 1 行
我有一个笔尖:
从上到下,约束是:
- 垂直空间 15,优先级 1000
- 标题标签抗压优先级 1000
- 垂直空间 3,优先级 1000
- 字幕标签抗压优先级1000
- 垂直空间 15,优先级 1000
标题和副标题是多行的,笔尖中的行 = 0。
返回包含从 nib 创建的子视图的标题视图。子视图被限制为将所有边缘固定到标题视图边缘。
问题是创建标题时,标题只有 1 行,但应该是 2 行。将项目添加到副标题时,标题变为 2 行。滚动集合视图时,标题再次折叠到 1 行。标题视图的高度没有改变,但标题不是应该的 2 行。
创建时或滚动后:
将元素添加到字幕后:
这发生在 iOS 9 和 320 宽度的屏幕上,但显然不会发生在其他地方。没有看到它在 iOS 8 或 6/6+ 和 iOS 9 上发生。有什么想法或解决方法吗?
ios - 为什么“switch”语句在设置 UICollectionView 的标题时不起作用?
我想设置集合视图的标题,从而实现方法func collectionView(collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, atIndexPath indexPath: NSIndexPath) -> UICollectionReusableView
。
但是,switch语句似乎不起作用;即使我尝试通过根据部分分支来在标题视图中设置标签,所有部分中的结果标题视图也包含我编写的所有标签。
在上面的代码中,两个部分的标签都有标签A和B,彼此重叠。
为什么开关在我的情况下不起作用?
我的集合视图中的内容从服务器获取数据,因此print(indexPath.section)
执行了 2 次,每次打印出0
和1
,按此顺序。
这与问题有关吗?