Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用UICollectionView标头中的按钮操作

使用UICollectionView标头中的按钮操作
EN

Stack Overflow用户
提问于 2016-09-15 20:59:08
回答 1查看 765关注 0票数 0

我的集合视图标题中有一个名为"Select“的按钮。如何在按钮的单击操作中获取节id,以便迭代此节中的单元格元素并将其标记为选中?

EN

回答 1

Stack Overflow用户

发布于 2019-03-10 16:11:50

您可以在UICollectionView的扩展中添加func indexPathForSupplementaryElement(ofKind kind: String, at point: CGPoint) -> IndexPath?方法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
extension UICollectionView {
    func indexPathForSupplementaryElement(ofKind kind: String, at point: CGPoint) -> IndexPath? {
        let targetRect = CGRect(origin: point, size: CGSize(width: 0.1, height: 0.1))
        guard let attributes = collectionViewLayout.layoutAttributesForElements(in: targetRect) else { return nil }

        return attributes.filter { $0.representedElementCategory == .supplementaryView && $0.representedElementKind == kind }.first?.indexPath
    }
}

并在您的UIViewController中使用它,例如

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@IBAction func didSelectHeader(sender: UIView, forEvent event: UIEvent) {
        guard let point = event.allTouches?.first?.location(in: collectionView) ?? sender.superview?.convert(sender.center, to: collectionView) else { return }
        guard let indexPath = collectionView.indexPathForSupplementaryElement(ofKind: UICollectionView.elementKindSectionHeader, at: point) else { return }

        // do something with the indexPath
    }

在我们的例子中,indexPath.item每次都是0,但是indexPath.section是不同的,这取决于报头相对于collectionView部分的位置

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39520273

复制
相关文章
UICollectionView 的使用详解
import <UIKit/UIKit.h> @interface ViewController : UIViewController<UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>{ } @property (strong, nonatomic)UICollectionView *collectionView; @end ViewController.m import "ViewController.h" @interface
大师级码师
2021/10/31
8460
按钮与交互-使用按钮触发操作
在本节中,我们将介绍一个重要且简单的元素,即按钮。这个小元素可以改变整个UX。我们将使用该按钮来缩放我们的3D模型。此外,我们将尝试更改手机的壁纸。对于您的型号,如果您有不同的材质或颜色,您也可以更改它。
iOSDevLog
2019/06/17
4.6K0
按钮与交互-使用按钮触发操作
UICollectionView
平常我在业务开发中,绝大部分情况都是使用的UITableView,而UICollectionView则是在极少情况下才会去使用,这就导致了我对UICollectionView略感陌生。本篇文章就是以二者对比的方式对UICollectionView做一个小总结。
拉维
2019/08/12
1.2K0
使用 UICollectionView 实现分页滑动效果
在上篇博客中,给大家演示了如何利用 UICollectionView 这个强大的控件去实现一个卡片轮播的效果,后来有网友联系我说:"他遇到一个问题,当他滚动的 item 宽度与屏幕宽度一致时,滚动效果是正常的,但当把 item 宽度的值设置成小于屏幕宽度的时候,滚动就会出现遮挡的 bug, 这该如何解决呢!"
HelloWorld杰少
2022/08/04
3.1K0
使用 UICollectionView 实现分页滑动效果
iOS流布局UICollectionView系列一——初识与简单使用UICollectionView
        UICollectionView是iOS6之后引入的一个新的UI控件,它和UITableView有着诸多的相似之处,其中许多代理方法都十分类似。简单来说,UICollectionView是比UITbleView更加强大的一个UI控件,有如下几个方面:
珲少
2018/08/16
3.1K0
iOS流布局UICollectionView系列一——初识与简单使用UICollectionView
UICollectionView的单选
– (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
全栈程序员站长
2022/09/02
9400
iOS UICollectionView的用法
UICollectionViewDataSource,UICollectionViewDelegateFlowLayout
码客说
2019/10/22
1.3K0
使用 UICollectionView 实现首页卡片轮播效果
今天跟大家来聊聊一个强大的 UI 控件:UICollectionView。UICollectionView 是 iOS6 之后引入的一个新的 UI 控件,与 UITableView 有着很多相似的地方,在开发过程中我们都会选择使用它们俩来为 App 的整个页面进行布局,比如说淘宝的首页;相比 UITbleView,UICollectionView 的功能比它要强大的多,它支持水平与垂直俩种方向的布局,开发者可以完全自定义一套 layout 布局方案,实现出意想不到的效果。
HelloWorld杰少
2022/08/04
2.1K0
使用 UICollectionView 实现首页卡片轮播效果
iOS - Swift UICollectionView横向分页的问题UICollectionView横向分页的问题
UICollectionView横向分页的问题 情况 直接看图 滚前 滚后 已经设置collectionView的isPagingEnabled为true了,可是出现了这种情况,原因就是collect
LinXunFeng
2018/06/29
1.3K0
HTTP响应头中可以使用的各种响应头字段
大佬教程:https://blog.csdn.net/flang6157/article/details/103287119
华创信息技术
2022/05/28
2.2K0
iOS流布局UICollectionView系列二——UICollectionView的代理方法
        在上一篇博客中,介绍了最基本的UICollectionView的使用和其中我们常用的属性和方法,也介绍了瀑布流布局的过程与思路,这篇博客是上一篇的补充,来讨论关于UICollectionView的代理方法的使用。博客地址:
珲少
2018/08/16
2.1K0
iOS流布局UICollectionView系列二——UICollectionView的代理方法
http请求头中缓存的实现
什么是http缓存呢,当我们使用chrome浏览器,按F12打开控制台,在网络请求中有时候看到状态码是200,有时候状态码是304,当我们去看这种请求的时候,我们会发现状态码为304的状态结果是:Status Code: 304 Not Modified,而状态码为200的时候一般会有四种情况,一种是直接返回200,没有任何其他的标志,另一种是Status Code: 200 OK (from memory cache),还有一种是Status Code: 200 (from disk cache)。最后一种不是太常见,Status Code: 200 (from Service Worker).后面这三种状态码看到的效果是灰色的,其实从给出的信息也能看出来是从缓存中获取上数据。下面我们来详细介绍一下他们都分别是什么时候出现的。
OECOM
2020/07/02
2.1K0
http请求头中缓存的实现
UI篇-UICollectionView 补充
http://blog.csdn.net/xiyouios/article/details/50191101
進无尽
2018/09/12
1.5K0
UI篇-UICollectionView 补充
bootstrap table表格的点击详情按钮操作
bootstrap table表格的点击详情按钮的时候 只改变当前按钮的状态 其余不变
王小婷
2022/07/05
3.3K2
bootstrap table表格的点击详情按钮操作
Qt之按钮相关基本操作
使用按钮控件需要包含头文件:QPushButton 按钮创建和显示: //创建一个btn的按钮对象 QPushButton* btn=new QPushButton; //显示该按钮,调用show函数显示按钮 //show用顶层的方式弹出,即会独立显示一个按钮窗口 btn->show(); 如何将按钮显示到当前对象所处的窗口中呢? //创建一个btn的按钮对象 QPushButton* btn=new QPushButton;
大忽悠爱学习
2021/11/15
5810
Http请求头中各字段的含义
浏览器(或者其他基于HTTP的客户端程序)可以接收的内容类型(Content-types),例如 Accept: text/plain
玖柒的小窝
2021/09/14
1.2K0
Some problems with refresh UICollectionView
How to refresh without Animation reference
Mitchell
2018/09/30
2.1K0
利用HardwareButton操作Windows Mobile的硬件按钮
    大家知道,在Windows Mobile的应用程序中,我们可以利用模拟按键VK来模拟一些硬件按键的功能,如调用今日屏幕、锁定键盘、关闭设备、打开扬声器等等(具体可以参考黄季东的帖子:再谈Windows Mobile上的模拟按键操作)。在有些情况下,我们需要知道用户按下的是哪个硬件按钮,并且重写该硬件按钮的功能(如游戏程序)。而硬件按钮对应的是某个具体的值,我们可以使用该值来判断。在.NET CF中,HardwareButton类允许重写 Pocket PC 硬件按钮的功能。     首先,我们需要在
ShiJiong
2018/01/10
7580
利用HardwareButton操作Windows Mobile的硬件按钮
点击加载更多

相似问题

UICollectionView在标头中添加操作(Swift)

12

影响所有TableView标头中按钮的操作

12

如何向UICollectionView标头中的标签添加约束?

19

在for循环标头中使用逻辑操作

16

如何在UICollectionView的节标头中显示图像和标签?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文