嗨,我有一个带有三个按钮的自定义UITableViewCell,用于处理购物车功能,加号,减号和删除按钮,我需要知道已触摸哪个单元格。
我已经尝试使用“标签解决方案”,但是由于单元的生命周期,它无法正常工作。
谁能帮我找到解决方案?
提前致谢
我正在使用UITableViewCell的子类中的单元委托方法解决此问题。
快速概述:
1) 创建一个协议
protocol YourCellDelegate : class {
func didPressButton(_ tag: Int)
}
2) 子类化 您的 子类 UITableViewCell
(如果尚未这样做):
class YourCell : UITableViewCell
{
var cellDelegate: YourCellDelegate?
@IBOutlet weak var btn: UIButton!
// connect the button from your cell with this method
@IBAction func buttonPressed(_ sender: UIButton) {
cellDelegate?.didPressButton(sender.tag)
}
...
}
3) 让 您的视图 控制器 符合YourCellDelegate
上面实现的协议。
class YourViewController: ..., YourCellDelegate { ... }
4) 在定义了单元之后(用于重用), 设置一个委托 。
let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as! YourCell
cell.cellDelegate = self
cell.btn.tag = indexPath.row
5) 在同一控制器(您实现的UITableView委托/数据源在哪里)中, 放置来自YourCellDelegate
protocol
的方法
。
func didPressButton(_ tag: Int) {
print("I have pressed a button with a tag: \(tag)")
}
现在,您的解决方案不再取决于标签/数字。您可以根据需要添加任意数量的按钮,因此无论您要安装多少个按钮,都可以通过委托获得响应。
此协议代理解决方案在iOS逻辑中是首选,它可用于表单元格中的其他元素,例如UISwitch
,UIStepper
等等。
问题内容: 下面的代码正确返回该单元格: 但是在表视图中查找indexpath会崩溃: 我尝试了另一种方法,但是没有成功: 问题答案: 我不知道是否有简单的方法可以做到这一点。( 编辑: 实际上有。请查看@mustafa的第二个解决方案。)一种解决方法是将按钮的标签设置为in ,然后可以仅访问按钮的标签以找出按钮所属的行。 警告: 此解决方法很脆弱。如果您允许在不调用的情况下从表中添加或删除行,则
浮动操作按钮 运行方式 过渡 大屏幕 浮动操作按钮 浮动操作按钮 浮动操作按钮适用于进阶的操作。它是漂浮在 UI 上的一个圆形图标,具有一些动态的效果,比如变形、弹出、位移等等。 浮动操作按钮有两种尺寸: 默认尺寸:适用于多数应用情况。 迷你尺寸:仅用于创建与其他屏幕元素视觉的连续性。 浮动操作按钮 迷你浮动操作按钮 浮动操作按钮应至少放在距手机边缘 16dp 或电脑/台式机边缘 24dp 的地方
主要内容:本节引言:,1.StateListDrawable简介:,2.实现按钮的按下效果:,3.使用颜色值绘制圆角按钮,4.实现Material Design水波效果的Button,本节小结:本节引言: 今天给大家介绍的Android基本控件中的两个按钮控件,Button普通按钮和ImageButton图像按钮; 其实ImageButton和Button的用法基本类似,至于与图片相关的则和后面ImageView相同,所以本节 只对Button进行讲解,另外Button是TextView的子类,
Floating Action Button is supported only in Material Theme Floating action buttons are used for a promoted action. They are distinguished by a circled icon floating above the UI and have motion behavi
描述 (Description) Framework7为提升的操作提供floating action button 。 它们在UI上显示为浮动圆圈图标。 它具有包含morphing , launching和transferring an anchor point的运动行为。 浮动操作按钮仅在材质主题中受支持。 下表列出了Framework7中使用的操作按钮类型 - S.No 类型和描述 1 浮动动
本文向大家介绍IOS UITableViewCell详解及按钮点击事件处理实例,包括了IOS UITableViewCell详解及按钮点击事件处理实例的使用技巧和注意事项,需要的朋友参考一下 IOS UITableViewCell详解及按钮点击事件处理 今天突然做项目的时候,又遇到处理自定义的UITableViewCell上按钮的点击事件问题。我知道有两种方式,可是突然想不起来之前是怎么做的了,好