【发布时间】:2024-01-19 07:25:01
【问题描述】:
四处搜索我发现这样做的方法可能是使用UICollectionView,所以这没问题,因为 Stack Overflow 上有很多教程和问题。我有 3 个问题:
我找不到任何关于“分隔符”(分隔所有框的线)的信息。我喜欢它不会水平触摸屏幕边框。是否以编程方式完成?
为了在所有设备中平均分配空间(水平 3 个框/按钮),我找到了这个答案 answer。这是正确的方法吗?
对于模糊效果,我找到了这个答案:How to implement UIVisualEffectView in UITableView with adaptive segues
对于TableView,它将是:
if (!UIAccessibilityIsReduceTransparencyEnabled()) {
tableView.backgroundColor = UIColor.clearColor()
let blurEffect = UIBlurEffect(style: .Light)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
tableView.backgroundView = blurEffectView
}
我可以这样做吗?
@IBOutlet var collectionView: UICollectionView!
if (!UIAccessibilityIsReduceTransparencyEnabled()) {
collectionView.backgroundColor = UIColor.clearColor()
let blurEffect = UIBlurEffect(style: .Light)
let blurEffectView = UIVisualEffectView(effect: blurEffect)
collectionView.backgroundView = blurEffectView
}
【问题讨论】:
-
1) 分隔符是装饰视图。所以你需要继承 UICollectionViewFlowLayout 。第一个子类 UICollectionReusableView,然后创建自己的 UICollectionViewLayout。实现 layoutAttributesForElementsInRect 和 layoutAttributesForDecorationViewOfKind:atIndexPath。
标签: ios swift gridview uicollectionview uicollectionviewcell