首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

UITableViewCell中的UIButton是可点击的(获取正确的事件),但问题是看不到点击效果

UITableViewCell中的UIButton是可点击的(获取正确的事件),但问题是看不到点击效果。

这个问题可能是由于UIButton的状态显示不正确导致的。UIButton有不同的状态,包括正常状态、高亮状态、选中状态等。在UITableViewCell中,当按钮被点击时,应该切换按钮的状态以显示点击效果。

解决这个问题的方法是通过设置UIButton的不同状态下的背景图片或背景颜色来实现点击效果的显示。可以使用UIButton的setBackgroundImage:forState:方法或者setBackgroundColor:forState:方法来设置不同状态下的背景。

以下是一个示例代码,演示如何在UITableViewCell中的UIButton上显示点击效果:

代码语言:swift
复制
// 在UITableViewCell的配置方法中设置按钮的不同状态下的背景图片
func configureCell() {
    // 创建按钮
    let button = UIButton(type: .system)
    
    // 设置按钮的正常状态下的背景图片
    button.setBackgroundImage(UIImage(named: "button_normal"), for: .normal)
    
    // 设置按钮的高亮状态下的背景图片
    button.setBackgroundImage(UIImage(named: "button_highlighted"), for: .highlighted)
    
    // 设置按钮的选中状态下的背景图片
    button.setBackgroundImage(UIImage(named: "button_selected"), for: .selected)
    
    // 添加按钮到UITableViewCell中
    contentView.addSubview(button)
    
    // 添加按钮的点击事件
    button.addTarget(self, action: #selector(buttonClicked), for: .touchUpInside)
}

// 按钮点击事件处理方法
@objc func buttonClicked() {
    // 处理按钮点击事件
}

在上述示例代码中,通过设置不同状态下的背景图片,可以实现UITableViewCell中的UIButton的点击效果显示。你可以根据实际需求,替换示例代码中的图片资源,并根据需要调整按钮的其他属性。

推荐的腾讯云相关产品:腾讯云移动推送(https://cloud.tencent.com/product/umeng_push)、腾讯云移动直播(https://cloud.tencent.com/product/mlvb)、腾讯云云服务器(https://cloud.tencent.com/product/cvm)。

希望以上信息能对你有所帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

从 0 到 1 搭建技术台之 iOS 可视化埋点实践

事件标识定义 全埋点采集用户行为,需要解决最大问题是:如何精确描述行为事件。通常对页面和页面交互元素分别进行定义。 A....考虑到 App 交互多样性和现实成本,这里仅讨论支持点击操作元素。 通常,元素标识由三部分组成 元素在页面视图树路径 路径由视图树根节点开始,到该元素节点父节点为止。...- UIViewControllerWrapperView-UIView-UIButton(0)_[click me] UIButton 后面小括号数字”0”表示其在父视图中索引,括号内 “click...独立元素与重复元素路径 独立元素指在视图中独立绘制元素,通常与其他元素无关联。对于此类型元素,标识定义为:”路径”“类型 + 索引”[“内容”]。 重复元素指在列表绘制元素。...重复元素匹配规则 不关注内容 同类元素 关注列表同一 section 内所有元素。当用户点击任一元素时产生事件都会纳入统计。

1.1K20

iOS开发:实现点击常用控件弹出地区选择框(万能方法)

前言 在iOS开发中会遇到一些选择选项需求,而且点击一个控件弹出一个选择框,选择之后展示到前端,然后再把选择内容传给后台或者做本地存储。...随后还会分享实现点击UITextField弹出UIDatePicker日期选择器博文,本篇博文只分享点击控件弹出选择框方法实现(点击UIButton或者UILabel弹出选择提示框)。...以下案例使用场景:通过点击UITableViewCell,弹出弹框,然后选择地区,最后给cell上面的控件赋值。具体步骤如下所示。...cellForRowAtIndexPath代理方法里面的操作如下 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath...} } 实现之后效果如下图所示: 1.png 这里虽然介绍cell点击事件弹框处理,其他控件使用方法类似,比如UIButton、UILabel等控件都可以这样实现地区弹框选择方法

1.6K32

iOS14适配【解决UITableViewCell兼容问题(往cell添加子视图方式不规范)】

IDE Xcode,准备适配iOS14 API,结果发现app首页cell按钮也无法点击了。...I、问题分析 iOS14 UITableViewCell子试图不能点击或者滑动等手势响应问题,发现有问题cell基本都是直接 cell.addSubView(tempView1) 这种方式添加,通过...Xcode自带DebugViewHierarchy视图分析发现问题原因:被系统自带UITableViewCellContentView遮挡在底部了 ?...所以通过Runtime hook celladdSubView 方法强制修改为正确添加cell 子视图方式 2.1 全局修改 只允许添加 UITableViewCellContentView,其余都直接添加到...UIButton * btn = cell.contentView.subviews[2-1]; 2.2.2 通过superview 获取cell也需做相关修改 经过全局hook之后,以下代码就是错误

2.5K20

iOS小技能: 解决UITableViewCell兼容问题(iOS14适配)

前言 问题:升级最新IDE Xcode,发现app首页cell按钮也无法点击了。...原因:往cell添加子视图方式不规范,导致contentView 置于自定义控件上层,引发界面无响应(注意处理相关方法) I 问题分析 iOS14 UITableViewCell子试图不能点击或者滑动等手势响应问题...,发现有问题cell基本都是直接 cell.addSubView(tempView1) 这种方式添加,通过Xcode自带DebugViewHierarchy视图分析发现问题原因:被系统自带...例如125个文件1452个地方使用错误方法,这个如果不使用hook高质工作量有点大 所以通过Runtime hook celladdSubView 方法强制修改为正确添加cell 子视图方式...UIButton * btn = cell.contentView.subviews[2-1]; 2.3.2 通过superview 获取cell也需做相关修改 经过全局hook之后,以下代码就是错误

1.3K30

【IOS开发基础系列】Table View开发专题

2.2 使用技巧 2.2.1 UITableViewCell去掉点击效果         相当于AndroidListViewselector设置成空/透明:     1.XIB设置         ...宽度320高度44         因为在iOS5时候, 默认Cell就是320宽(那阵屏幕就是那么宽,然后高度44) 现在在layoutSubViews 重新绘制这个cell宽度和高度,...然而view很大对象,创建它会消耗较多资源,并且也影响渲染性能。如果你table cell包含图片,且数目较多,使用默认UITableViewCell会非常影响性能。...这个例子,layer并不会显著影响性能,如果layer透明,或者有圆角、变形等效果,就会影响到绘制速度了。解决办法参见后面的预渲染图像。 2.4.1.4 不要做多余绘制工作。      ...,优化时无意中解决了此问题,原来调用方法在A函数调用UIGraphicsGetImageFromCurrentImageContext(在C函数)生成UIImage,然后传递给B函数去处理,这样内存会暴涨

30620

iOS_解决:当点击到TableViewCell上Button时,就无法滑动TableView问题

之前面试遇到了一个问题: 长按到UIButton时,UITableView滑动不了,有遇到过么?(怎么解决?) 估计当前面试官描述不够清楚,然后我没有印象,也没理解他说是什么。...其实肯定是遇到过,只是没有引起我重视。 以下解决办法: 1、无法滑动问题 当点击到TableViewCell上Button时,就无法滑动TableView。...解决办法:自定义一个TableView继承自UITableView,并重写以下方法: override func touchesShouldCancel(in view: UIView) -> Bool...{ return true } 2、highlight效果延迟问题: 当UIButton被添加在UITableViewCell上时,它高亮状态切换会延时。...解决办法:将tableViewdelaysContentTouches设置为false tableView.delaysContentTouches = false

69020

自学Swift之路(一)UI入手之基本控件

本系列文章都是以有OC基础来写,所以注释不会写太多,对基础不够了解同学可能不太适合,另外本系列文章不是以教程式形式来写,记录学习过程,所以不会有多少讲解 第一步:创建工程 A62A869C-6B27...,里面创建一些基本UI控件,然后在viewDidLoad调用: override func viewDidLoad() { super.viewDidLoad()...,两种语言控件属性一样,只是语法有些不一样而已,多写几个就会发现Swift都是一个套路.那好吧,简单控件就不写了,接下来我们来写下UITableView // 5.UITableView...) { print("点击了单元格") } 好了,这篇文章内容就到这里了,下一篇文章将会围绕UITableView,自定义UITableViewCell来写点可视化内容较强东西...本人也是正在学习,文章内容如有错误,还请指正,有需要优化地方,也请帮忙指出,帮助大家共同进步

2.9K110

Swift| 基础语法(五)

前言 总结下 swift下基础语法,里面涉及到:常量&变量、Swift数据类型、逻辑分支、循环、字符串相关、数组和字典、方法书写调用等内容,考虑到阅读体验分多篇来展示,希望对大家学习swift...self.view.addSubview(sc) sc.addSubview(mylabel) sc.addSubview(but) sc.addSubview(imageV) // 按钮点击事件...可以在自定义cell处理点击状态下显示 var label1 :UILabel? var label2 :UILabel?...因为只有init()私有的,才能防止其他对象通过默认构造函数直接创建这个类对象,确保你单例真正独一无二。...因为在Swift,所有对象构造器默认都是public,所以需要重写你init让其成为私有的。 这样就保证像如下代码编译报错,不能通过。 六、从相册选择照片或者拍照 ?

2K30

Cobub无码埋点关键技术实现流程(附图)

2.在上一步弹框输入自定义事件名称,名称将会和视图viewPath绑定起来。viewPath视图唯一标识,在下文中将详细讲解。...3.用户点击了控件,判断控件是否绑定过事件,如绑定则进行事件上传。...计算节点index,这个步骤,有种特殊视图需要注意,复用视图index跟数据源相关,比如UITableViewCell,此类视图index不能使用父视图subviews下标代替,应该使用数据源下标代表...TestViewController-UIView-UIButton&0-0-0和TableViewController-UITableView-UITableViewCell&0-0-1:0。...如何检测用户触发了绑定了事件ID视图也是重点,此处运用核心技术runtimeMethod Swizzle。下面介绍一下针对不同类型控件,如何hook相应方法。 1.

1.3K60

实践-小效果 III

如果在一个 UIButton 你设置 setImage并且 setTitle 。你会发现,默认 图片在左边,文字在右边。并且这跟 UIButton Frame无关。...Paste_Image.png //按钮内容完美居中方法 # 需要注意 这里图片尺寸会采用图片原始尺寸,所以要注意把 UIButton尺寸设置足够大才可以达到效果,否则会有图片文字重合现象...可以说是专门为 UILabel和UIImameView添加点击效果控件,认清楚这个事实,我们运用UIButton时候就更准确了,我们在实际开发这样会遇到这样情况,有一个小图标,但是这个图标又能点击...4.使用UIAlertView做简单文本框输入 使用UIAlertView做登录输入, 默认 登录名、密码,我们可以修改 TFplaceholer字体来达到我们想要效果。...这样点击按钮刷新 CollectionView即可达到如上效果

1.1K20

实际操作-手把手探究tableViewCell上控件点击事件进阶篇:实际项目操作

Cell上控件点击事件。...”方法就能实现行点击效果,经常我们做点击之后页面跳转(push到另一个界面); 此时:如果我们在cell上自定义几个控件,然后点击控件,想要实现控件点击效果,不实现cell点击效果: ?...我们都知道,UIButton点击事件:添加一个addtarget,然后选择点击触发:UIControlEventTouchUpInside,就可以实现Btn点击事件。...测试如上:不会同时触发两个点击效果 -->探究2:ImageView点击事件 ?...打开imageView用户交互事件 ---- 拓展:UIView,UIButton默认可以进行用户交互,如果父控件不能(or 手动关闭用户交互),子控件即使UIButton,也无法触发交互事件(例如点击事件

3.6K50

iOS 无侵入埋点组件总结

事件标识与参数信息都写在配置表,通过动态下发配置表来实现埋点统计。 无埋点 无埋点并不是不需要埋点,更准确说应该是“全埋”, 前端任意一个事件都被绑定一个标识,所有的事件都别记录下来。...2.3.4 唯一标识作用主要分为两个部分 事件锁定 事件锁定主要是靠 “事件唯一标识符”来锁定,而事件唯一标识由我们写入配置表。 埋点数据上报。...埋点数据数据又分为两种类型: 固定数据与可变业务数据, 而固定数据我们可以直接写到配置表, 通过唯一标识来获取。...3.3 分析及实现 3.3.1 需要添加埋点统计地方 button 相关点击事件 页面进入、页面推出 tableView 点击 collectionView 点击 手势相关事件 3.3.2 分析...和 UIViewController 生命周期埋点不同,一个类可能有许多不同 UIButton 子类,相同 UIButton 子类在不同视图中埋点也要区分出来,所以我们通过 NSStringFromClass

2.9K31

iOSMVC框架之控制层构建(下)

在应用中最多使用UITableView以及UITableViewCell数据更新处理机制使用不恰当导致delegate方法实现异常复杂,尤其那些复杂UITableViewCell更新处理不得当导致代码混乱不堪...这些控制器所实现功能展示效果一样或者有微小差别,但是事件处理逻辑则可以完全不一样。第二种方法实现机制更加体现了MVC层次关系以及V层构建独立性。...,这里我们将看不到单例对象、也看不到平面的服务请求了,而是一个普通对象。...UITableView目前App中使用最多控件之一。UITableViewCell属于视图层次对象。一般情况下某个UITableViewCell展示数据又来自于业务模型层数据模型。...我们知道MVCM和V之间分别独立,他们之间通过C来建立关联,因此上面的UITableViewCell更新就由视图控制器来完成。

4.4K30
领券