- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有一个 UICollectionView,它有部分标题,但没有部分页脚。因此,我没有定义的页脚 View 。 Apple's documentation声明 您不得从此方法返回 nil。
func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
switch kind {
case UICollectionElementKindSectionHeader:
let headerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind,
withReuseIdentifier: "MyHeaderView",
for: indexPath) as! MyHeaderView
switch indexPath.section
{
case 0:
headerView.label_title.text = "SOME HEADER"
case 1:
headerView.label_title.text = "ANOTHER HEADER"
default:
headerView.label_title.text = "UNKNOWN HEADER"
}
return headerView
default:
assert(false, "Unexpected element kind") // Not a good idea either
}
return nil // NOPE, not allowed
}
最佳答案
以上都不适合我。在我的例子中,我在同一个 View Controller 中有两个 UICollectionView
对象。首先是水平的,选择一个显示下面的 UICollectionView
的项目,它是垂直的并且包含部分标题。
来自 Apple docs :
This method must always return a valid view object. If you do not want a supplementary view in a particular case, your layout object should not create the attributes for that view. Alternatively, you can hide views by setting the isHidden property of the corresponding attributes to true or set the alpha property of the attributes to 0. To hide header and footer views in a flow layout, you can also set the width and height of those views to 0.
所以像往常一样将 headerView
出队,因为如果你不这样做,只返回一个 UICollectionReusableView()
的实例,Xcode 会提示标题 View 没有出队。然后,如果您出于某种原因不想显示它(对我来说,直到用户从上方的水平 Collection View 中选择一个项目)- 将 headerView
的宽度和高度设置为 0.0
并返回它。
let headerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: collectionHeaderReuseIdentifier, for: indexPath)
if objects.isEmpty {
headerView.frame.size.height = 0.0
headerView.frame.size.width = 0.0
return headerView
}
// Configure the header view here if needed
return headerView
关于ios - 从 collectionView 返回什么(_ :viewForSupplementaryElementOfKind:at:) when you want to return nothing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44843008/
我已经声明了如下的 Collection View lazy var collectionView:UICollectionView = { let layout = UICollec
如何识别 viewForSupplementaryElementOfKind 中的选择?我尝试将目标添加到 header 内的按钮,但这不起作用。选择操作是否发送到 didSelectItemAtIn
我有一个UIViewController,上面附加了一个UICollectionView。问题是每次向上滚动 Collection View 时都会调用 viewForSupplementaryEle
我有一个 UIViewController,上面附加了一个 UICollectionView。问题是 viewForSupplementaryElementOfKind 被调用了三次,而不是像 UIT
我遇到一个问题,viewForSupplementaryElementOfKind 委托(delegate)函数从未检测到 UICollectionElementKindSectionFooter。
我创建了一个自定义 UICollectionViewLayout 并将其放入 Storyboard中的 Collection View Controller 中。我在显示项目/单元格时没有遇到太多问题
我正在使用 viewForSupplementaryElementOfKind在我的收藏 View 中生成标题。 标题 (SectionHeader) 是 Storyboard 中的部分标题附件,仅包
我通过以下方式设置标题大小: if let flowLayout = self.myCollectionView.collectionViewLayout as? UICollectionViewFl
我是iOS编程新手。现在我正在开发一个显示类似于应用程序商店的应用程序。但是我有一些问题,当用户打开应用程序时,我希望数据单元格应该显示第二个单元格。例如,我有三个单元格,然后当用户打开应用程序时,第
我正在尝试将 header 添加到使用 FirebaseUI 绑定(bind)到 firebase 查询的 Collection View 。 我使用集合标题的静态框架设置我的 Collection
我有一个 Collection View ,我希望每个部分都有页眉和页脚。我正在使用默认流布局。 我有自己的 UICollectionReusableView 子类,我在 View Controlle
我有一个名为Location 的数据模型。我将它们用作 UICollectionViewController 中的部分标题。每个 location 都可以在这些部分中显示 items。我想在 view
我有一个工作正常的 UICollectionView。但是,我试图以编程方式添加节标题,但遇到了我无法弄清楚的崩溃。 我的标题类: class EmbeddedSectionHeaderCollect
我有一个 UICollectionView,它有部分标题,但没有部分页脚。因此,我没有定义的页脚 View 。 Apple's documentation声明 您不得从此方法返回 nil。 func
有时我会从 viewForSupplementaryElementOfKind 收到此“索引 0 超出空数组边界”错误。它只是有时发生,通常集合加载正常并且一切运行顺利。我想知道什么数组是空的?注册的
我是一名优秀的程序员,十分优秀!