UITableView的AccessoryButton自定义视图与触发被点击的事件

SPI 多从机连接 2 种方案对比:常规并联与菊花链模式实战解析 本文深入对比了SPI多从机系统的两种连接方案:常规并联模式与菊花链模式。通过硬件架构解析、软件控制要点和性能指标对比,帮助开发者在实际项目中根据引脚资源、时序要求和传输效率做出最优选择。特别适合需要优化SPI通信协议的嵌入式系统开发者。 阅读详情

自定义UITableViewCell的accessory样式       默认的accessoryType属性有四种取值:UITableViewCellAccessoryNone、 UITableViewCellAccessoryDisclosureIndicator、 UITableViewCellAccessoryDetailDisclosureButton、 UITableViewCellAccessoryCheckmark。

如果想使用自定义附件按钮的其他样式,则需使用UITableView的accessoryView属性来指定。

[cpp] view plaincopy

  1. UIButton *button;  

  2. if(isEditableOrNot) {  

  3.     UIImage *image = [UIImage imageNamed:@"delete.png"];  

  4.     button = [UIButton buttonWithType:UIButtonTypeCustom];  

  5.     CGRect frame = CGRectMake(0.0,0.0,image.size.width,image.size.height);  

  6.     button.frame = frame;  

  7.     [button setBackgroundImage:image forState:UIControlStateNormal];  

  8.     button.backgroundColor = [UIColor clearColor];  

  9.     cell.accessoryView = button;  

  10. }else{  

  11.     button = [UIButton buttonWithType:UIButtonTypeCustom];  

  12.     button.backgroundColor = [UIColor clearColor];  

  13.     cell.accessoryView = button;  

  14. }  

以上代码仅仅是定义了附件按钮两种状态下的样式,问题是现在这个自定义附件按钮的事件仍不可用。

即事件还无法传递到 UITableViewDelegate的accessoryButtonTappedForRowWithIndexPath方法上。

当我们在上述代码 中在加入以下语句:        [button addTarget:self action:@selector(btnClicked:event:) forControlEvents:UIControlEventTouchUpInside]; 后, 虽然可以捕捉到每个附件按钮的点击事件,但我们还无法进行区别到底是哪一行的附件按钮发生了点击动作!因为addTarget:方法最多允许传递两个参 数:target和event,这两个参数都有各自的用途了(target指向事件委托对象,event指向所发生的事件)。看来只依靠Cocoa框架已 经无法做到了。

      但我们还是可以利用event参数,在自定义的btnClicked方法中判断出事件发生在UITableView的哪一个cell上。因为UITableView有一个很关键的方法indexPathForRowAtPoint,可以根据触摸发生的位置,返回触摸发生在哪一个cell的indexPath。而且通过event对象,正好也可以获得每个触摸在视图中的位置。

  1. // 检查用户点击按钮时的位置,并转发事件到对应的accessory tapped事件  

  2. - (void)btnClicked:(id)sender event:(id)event  

  3. {  

  4.      NSSet *touches = [event allTouches];  

  5.      UITouch *touch = [touches anyObject];  

  6.      CGPoint currentTouchPosition = [touch locationInView:self.tableView];  

  7.      NSIndexPath *indexPath = [self.tableView indexPathForRowAtPoint:currentTouchPosition];  

  8.      if(indexPath != nil)  

  9.      {  

  10.          [self tableView:self.tableView accessoryButtonTappedForRowWithIndexPath:indexPath];  

  11.      }  

  12. }  

这样,UITableView的accessoryButtonTappedForRowWithIndexPath方法会被触发,并且获得一个indexPath参数。通过这个indexPath参数,我们即可区分到底哪一行的附件按钮发生了触摸事件。

airodump-ng、aircrack-ng使用教程 wifi破解、airodump-ng、aircrack-ng脚本 阅读详情

相关推荐

从零构建个性化AI助手:基于Mem0与本地大模型的记忆化实践

本文详细介绍了如何利用Mem0与本地大模型构建个性化AI助手,实现记忆化应用结构的实践方法。从开发环境搭建、记忆存储机制到个性化交互实现,提供了完整的解决方案和代码示例,帮助开发者在本地环境中创建能记住用户习惯和偏好的智能助手。

weixin_29214335的博客 465

iOS:UITableViewCell 方法 属性 详解

========================简介========================

houseq 的专栏 4733

传感器模块的电路艺术:从引脚定义到系统集成的设计哲学

本文深入探讨传感器模块的电路设计艺术,从引脚定义到系统集成的完整设计哲学。重点解析电源管理、信号处理及I2C通信协议等核心电路原理,分享多模块协同中的电源架构、信号完整性和接地策略,为硬件工程师提供实用的系统级设计思维与实战案例。

o1p2q3r的博客 223

IOS开发之——Cell类型右视图(22)

一 概述 本文主要介绍给表格布局中的Cell类型设置右侧视图,及右侧视图的监听 常见的右侧视图: ITableViewCellAccessoryDisclosureIndicator:右箭头 UITableViewCellAccessoryCheckmark:对号 UITableViewCellAccessoryDetailButton:按钮 UITableViewCellAccessoryDetailDisclosureButton:按钮+箭头 <!--m

我的博客 504

Rk3128投影仪救砖操作和固件分享思路

大家搞一条比较硬的东西,插入耳机口,就可以进入刷机模式了的,我的机器是这样的,大家也可以试试。(看不懂可以往下看)

MMX7088的博客 1万+

深入解析GEM5 McPAT NoC功耗模型:从arbiter电容计算到微架构关联

本文深入解析GEM5 McPAT NoC功耗模型,重点探讨arbiter电容计算与微架构的关联。通过拆解动态功耗公式和四类电容的物理本质,揭示能量与功率的转换关系,并提供参数调试和模型精度优化的实战技巧,帮助开发者更准确地预测和优化NoC功耗。

weixin_29305313的博客 201

自定义 UITableViewCell 的 accessory 样式

http://blog.youkuaiyun.com/kmyhy/article/details/6442351 对于 UITableViewCell 而言,其 accessoryType属性有4种取值: UITableViewCellAccessoryNone, UITableViewCellAccessoryDisclosureIndicator, UITableViewCel

u011248345的专栏 604

机械臂开发必备:KDL库正逆解与动力学实战指南

在机器人算法领域,运动学与动力学计算是机械臂控制、仿真与轨迹规划的核心基础。正运动学描述关节空间到笛卡尔空间的映射,逆运动学则需要求解复杂的非线性方程,工程实现时常面临数值稳定性与调试效率的挑战。KDL(Kinematics and Dynamics Library)作为ROS生态中广泛使用的开源库,提供了统一的模型描述与高效求解器,将正逆解、雅可比矩阵及动力学参数计算封装为简洁接口,大幅降低开发门槛。无论是机械臂的笛卡尔空间轨迹跟踪,还是基于动力学模型的前馈控制,KDL都展现出强大的工程价值。本文从运动学

weixin_33860528的博客 2506

UITableView 设置cell的button类型及响应的事件

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell * cell; cell = [tableView dequeueReusableCellWithIdentifier:@"Cont

学习笔记 450

基于ESP32-C3的便携式血氧仪硬件与算法实现

血氧饱和度(SpO₂)监测是生理参数无创检测的核心技术之一,其原理基于光电容积脉搏波(PPG)信号中红光与红外光吸收比值的动态变化。该技术依赖高精度模拟前端、稳定光学激励及实时数字信号处理能力,在消费级健康设备中面临功耗、体积与测量鲁棒性的多重约束。ESP32-C3凭借集成LEDC、12位ADC与低功耗双核架构,成为PPG终端的理想主控平台;结合定制化指夹式光学探头与比率法血氧算法,可实现非诊断级但趋势可靠的日常健康监测。本文围绕硬件电路设计、电源管理策略与嵌入式信号处理流程展开,覆盖从LED驱动、跨阻放大

weixin_29025501的博客 132

XXL-Job 分布式定时任务

XXL-JOB是一款轻量级分布式定时任务调度框架,采用调度中心与执行器分离架构,解决单机任务宕机、重复执行等问题。核心模块包括调度中心(管理任务配置、触发调度)和执行器(执行任务逻辑),支持集群部署保证高可用。框架提供丰富的任务触发规则、路由策略、阻塞策略及完善的运维能力,适用于多种业务场景如数据同步、定时推送等。安装时需准备MySQL数据库并初始化表结构,通过Docker部署调度中心服务。相比其他定时框架,XXL-JOB具有轻量化、可视化等优势,是中小企业的首选方案。

郭宝的博客 699

自定义UITableViewCell的accessoryView 判断哪个Button按下

UITableview的开发中经常要自定义Cell右侧的AccessoryView,把他换成带图片的按钮,并在用户Tap时判断出是哪个自定义按钮被按下了。 创建自定义按钮,并设为AccessoryView if (cell == nil) { cell = [[UITableView alloc] initWithStyle:UITableViewCellStyleDe

天行健 1万+

一文整理深度学习【深度学习linux的docker+pytorch+cuda+nvidia-docker+vscode配置】

docker+pytorch+cuda+nvidia-docker+vscode

Edward的博客 1335

为 UITableViewCel l的 accessoryButton 添加事件

如果把 cell 的 accessoryType 设置为 UITableViewCellAccessoryDetailDisclosureButton  cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton; 会有如下所示按钮 但是怎么为 UITableViewCellAccessoryDet

邱浩东的专栏 2641

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

TableView的accessoryButtonTappedForRow方法执行的时机

敲代码时遇到了这个问题,别偷懒,写下来备查.当你在IB中对TableView中的accessory(注意,我说的是cell中的accessory,而不是cell)创建segue时,如果你在VC中同时实现以下3个方法,请问调用的次序是神马!?//1 func tableView(_ tableView: UITableView, accessoryButtonTappedForRowWith inde

享受开发,颠倒银河 2502

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

根据用户在tableview中点击(触摸)cell的自定义accessoryButton获得其indexpath

[button addTarget:self action:@selector(checkButtonTapped:event:) forControlEvents:UIControlEventTouchUpInside];  cell.accessoryView = button;  [java] view plaincopy "code" class="java">"

shenyingqiang的专栏 491

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

IOS应用开发03——自定义Cell的AccessoryButton及事件源被点击的cell行

写了个UITableView,想自定义一下

Ably_Clove 1140

5.8 自定义UITableView单元格Accessory样式 [原创iOS开发-Xcode教程]

1. 在欢迎窗口右侧的历史项目列表中,双击打开之前创建的单视图项目模板。 2. 本节课将为您演示,如何自定义单元格的附件图标。首先在一个空白项目中,打开视图控制器的代码文件。 3. 接着开始编写代码,实现这项功能。 4. 首先添加两个代理协议。一个是表格视图的数据源协议,另一个是表格视图的代理协议。 5. 创建一个位置在(0, 40),尺寸为(320, 420)的显示区域。 6. 初始化一个表格视...

互动教程网[www.hdjc8.com] 327

自定义UITableViewCell:Cell高度、分割线、间距等

UITableView的强大更多程度上来自于可以任意自定义UITableViewCell单元格。 通常,UITableView中的Cell是 动态的,在使用过程中,会创建一个Cell池,根据每个cell的高度(即tableView:heightForRowAtIndexPath:返回 值),以及屏幕高度计算屏幕中可显示几个cell。而进行自定义TableViewCell无非是采用代码...

weixin_30867015的博客 227

Swift - 列表项尾部附件点击响应(感叹号,箭头等)

列表单元格尾部可以添加各种样式的附件,如感叹号,三角箭头等。而且点击内容区域与点击附件的这两个响应事件是不同的,这样可以方便我们实现不同的功能(比如点击内容则查看详情,点击感叹号则编辑)     1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...

weixin_33834075的博客 214

UITableView 总结

知识点回顾: 1.TableView 2.UITableViewController 3.两个协议,一个关于数据加载的协议< UITableViewDataSource >,一个关于性外和外观的协议< UITableViewDelegate > 4.对NSIndexPath类的扩展 5.tableView的单元格cell 6.响应点击事件 7.重用机制下布局cell的子视图时需要注意的问题

ohyeahhhh的博客 3470

自定义UITableViewCell

UITableView的强大更多程度上来自于可以任意自定义UITableViewCell单元格。 通常,UITableView中的Cell是 动态的,在使用过程中,会创建一个Cell池,根据每个cell的高度(即tableView:heightForRowAtIndexPath:返回...

chiang5883的博客 560
上一篇: 位操作状态码
下一篇: 适配IOS7
临红尘
博客等级 码龄19年 10粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值