滚动浏览时,UICollectionView它会显示多个滚动指示器.我注意到集合中的每个部分都有一个.查看同时显示三个的屏幕截图:
有谁遇到同样的问题?我正在使用Xcode 9 beta 3.我的collectionview设置很常见:
private let formCollectionView: UICollectionView = {
let collectionViewLayout = UICollectionViewFlowLayout()
collectionViewLayout.minimumLineSpacing = 0
collectionViewLayout.minimumInteritemSpacing = 0
let collectionView = UICollectionView(frame: .zero, collectionViewLayout: collectionViewLayout)
collectionView.translatesAutoresizingMaskIntoConstraints = false
collectionView.backgroundColor = UIColor.clear
return collectionView
}()
Run Code Online (Sandbox Code Playgroud)
编辑10/16/2017
甚至Twitter似乎也有这个问题:
小智 26
您可以在以下示例中的委托method.as中解决此问题
OC
- (void)collectionView:(UICollectionView *)collectionView willDisplaySupplementaryView:(UICollectionReusableView *)view forElementKind:(NSString *)elementKind atIndexPath:(NSIndexPath *)indexPath
{
if (@available(iOS 11.0, *)) {
if ([elementKind isEqualToString:UICollectionElementKindSectionHeader]) {
view.layer.zPosition = 0;
}
}
}
Run Code Online (Sandbox Code Playgroud)
迅速
func collectionView(_ collectionView: UICollectionView, willDisplaySupplementaryView view: UICollectionReusableView, forElementKind elementKind: String, at indexPath: IndexPath) {
if elementKind == UICollectionView.elementKindSectionHeader {
view.layer.zPosition = 0
}
}
Run Code Online (Sandbox Code Playgroud)
好的,首先已经有雷达了。
有一个建议的解决方法。我在我的子类中做了这些废话,部分成功了UICollectionReusableView。
override func apply(_ layoutAttributes: UICollectionViewLayoutAttributes) {
super.apply(layoutAttributes)
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.01) {
self.layer.zPosition = 0
}
}
Run Code Online (Sandbox Code Playgroud)
我这么说是部分原因,因为如果你有更长的时间,UICollectionView它仍然会损坏某些标头。不过大多数都还好。所以这取决于你的情况。希望雷达能尽快得到解决。
| 归档时间: |
|
| 查看次数: |
3209 次 |
| 最近记录: |