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

如何识别自定义UITableViewCell上的标签点击- Swift 3

在Swift 3中,要识别自定义UITableViewCell上的标签点击,可以使用UITableViewDelegate的方法didSelectRowAt来实现。

首先,在你的UITableViewDelegate的实现类中,确保你已经设置了tableView的delegate属性为该类的实例。

然后,实现didSelectRowAt方法,该方法会在用户点击某一行时被调用。在该方法中,你可以通过indexPath参数获取到用户点击的行和分区。

接下来,你可以使用tableView的cellForRow(at:)方法获取到用户点击的行对应的UITableViewCell实例。然后,你可以通过该实例的tag属性来判断用户点击的是哪个标签。

下面是一个示例代码:

代码语言:swift
复制
class MyTableViewController: UITableViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 设置tableView的delegate
        tableView.delegate = self
    }
    
    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        // 获取用户点击的行对应的UITableViewCell实例
        if let cell = tableView.cellForRow(at: indexPath) as? MyCustomTableViewCell {
            // 判断用户点击的是哪个标签
            if cell.myLabel.tag == 1 {
                // 用户点击了标签1
                // 执行相应的操作
            } else if cell.myLabel.tag == 2 {
                // 用户点击了标签2
                // 执行相应的操作
            }
            // ...
        }
    }
}

class MyCustomTableViewCell: UITableViewCell {
    @IBOutlet weak var myLabel: UILabel!
    // ...
}

在上面的示例代码中,假设你有一个自定义的UITableViewCell类叫做MyCustomTableViewCell,其中包含一个UILabel实例myLabel。你可以为myLabel设置不同的tag值来区分不同的标签。

当用户点击某一行时,didSelectRowAt方法会被调用。在该方法中,我们首先通过tableView的cellForRow(at:)方法获取到用户点击的行对应的UITableViewCell实例。然后,我们可以通过该实例的myLabel属性来判断用户点击的是哪个标签,进而执行相应的操作。

这只是一个简单的示例,你可以根据自己的需求进行相应的扩展和修改。

腾讯云相关产品和产品介绍链接地址:

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

相关·内容

Swift| 基础语法(五)

前言 总结下 swift基础语法,里面涉及到:常量&变量、Swift数据类型、逻辑分支、循环、字符串相关、数组和字典、方法书写调用等内容,考虑到阅读体验分多篇来展示,希望对大家学习swift...print("按钮点击了: \(butTitle)") } 三、UITableView使用 var myTb : UITableView?...可以在自定义cell中处理点击状态下显示 var label1 :UILabel? var label2 :UILabel?...设置图标选中时颜色 UITabBar.appearance().tintColor = UIColor.clear return tabbarController } 这里特别说明下:默认未选中标签图片和文字是灰色...,选中是蓝色,下面修改成橙色: //图片文字一起变色 self.tabBar.tintColor = UIColor.orangeColor() 如何显示原始图片颜色和图案?

2K30

iOS开发常用之网络

TextProgress - 自定义实现数字进度条:1,可以自定义数字(0-100),填充比例为当前设置数字,2,可以实现自定义填充颜色,上下部分都可以,3,可以自定义边界颜色4,实现了水波动画...3DTouchSample - 3D-Touch功能分为两个部分:快捷键和预览。 SBShortcutMenuSimulator - 教你如何在模拟器测试3D Touch功能!...VJDeviceSpecificMedia - 如何根据设备选择不同尺寸图片 可以通过设置不同尺寸设备LaunchImage,来使用App适配这些设备,要在不同尺寸设备使用不同大小图片,则需要在代码中一一判断...XTLoopScroll - 用两个timer三个重用视图实现无限循环scrollView,1自动轮播2点击监听回调当前图片3手动滑动后重新计算轮播开始时间,良好用户体验。...自定义动画.2。自定义滑动切换.3自定义方向0.4。撤销。 Koloda - 基于卡片Tinder风格动画效果示例。精细绝人。

23.6K10

自学Swift之路(二)UITableView自定义和实际利用

自定义,附带场景使用(简单demo) 创建工程什么就不说了,先看一下界面然后咱们直接开始代码: ?...6EDD4AC9-47E3-401F-91A4-2DA836439787.png Demo开始之前,我们想想应该会使用到屏幕宽高等一些常用值,在OC中,咱们可以使用PCH然后宏定义,然而在Swift中...DA345C16-932E-4524-8D93-5FDBAD540F3C.png 另外,在上面的界面截图中,我们发现用到了navigationController,这个demo中我自定义了它(从上面截图也能看出来...学了这么几天,我发现Swift还是比较容易入手,下篇文章我会用一个小项目,本人是做室内地图SDK,这次小项目是仿我OC写SDK Demo,使用Swift和OC混编,集成百度地图SDK和自己室内...在下篇文章中会讲讲,Swift项目已github:https://github.com/qingmomo/Swift-die OC版demo在我们官网:http://www.innsmap.com

2.3K90

Swift 类构造器使用

不过 Xcode 在 Swift 补全极其慢, 因为 Swift 所有的属性方法都是默认公开, 所以可能是因为每次都要搜索全局符号导致自动补全非常缓慢, 严重影响了工作效率, 有同样问题请戳这里...复制代码 Must call a designated initializer of the superclass 'UITableViewCell' 必须调用一个 UITableViewCell 指定构造器...如果子类提供了所有父类指定构造器实现, 不管是通过 规则 1 继承过来, 还是通过自定义实现, 它将自动继承所有父类便利构造器....Swift 复制代码 class TableViewCell: UITableViewCell { convenience init() { super.init(style:...如果子类提供了所有父类指定构造器实现, 不管是通过上一条规则继承过来, 还是通过自定义实现, 它将自动继承所有父类便利构造器.

1.7K20

iOS 9 Storyboard 教程(二下)

拖拽一个新 TableViewController到Main.storyboard里.在AddPlayerscene里选择Game单元格(确保你选择是整个单元格,而不是标签)并且按住ctrl并拖线到新...返回Main.storyboard里你新建Choose Game控制器然后在Identity Inspector里设置自定义类GamePickerViewController....就数据源而言应该那样做.运行app然后点击Game行.新Choose Game控制器将会滑出来.然而点击这些行不会做任何事,那是因为这个控制器是在导航堆栈被弹出来.但是你却总可以点击返回按钮返回到...这个方法在点击之后就会取消选中.那使得它从灰色高亮褪色为正常白色.然后它就会从先前选中单元格移除对号标记,然后把对号放到刚刚点击那一行....到了GamePickerViewController.

2.2K10

窥探Swift之协议(Protocol)和委托代理(Delegate)回调使用

本篇先给出CocoaTouch中常用控件UITableView常用回调,并以此来认识一下回调使用方式。紧接着会给出如何去实现自己Delegate回调,即在自定义控件中去实现委托代理回调。...1 import UIKit 2 3 class BeautifulGrillCell: UITableViewCell { 4 5 @IBOutlet var girlImageView...上面使用委托回调主要是使用Swift协议(Protocol)来实现。那么如何使用协议来实现你自己委托回调呢?这将是下面将要介绍内容。   二....要做事情就是输入美女名字,点击返回后通过自己定义委托回调,把你输入值回调到上一个页面(TableView)中去,并修改相应Cell名字。...在该方法中,首先我们要暂存一下点击是哪个Cell, 也就是记录一下点击CellIndexPath, 然后就是获取点击Cell对象,因为通过该Cell对象,可以获取相应Cell数据。

3.3K80

iOS_泛型 Generics __covariant(协变) __contravariant(逆变)

文章目录 1、泛型 `Generics` 2、`__kindof` 类型限制 3自定义泛型 4、协变 和 逆变 4.1、`__covariant`协变 4.2、`__contravariant`逆变...4.2、系统类举例 1、泛型 Generics 泛型可以让你使用自定义类型来编写灵活、可重用函数和类型,可以避免重复,以清晰、抽象方式表达其意图。...在2015年WWDC苹果推出了Swift 2.0版本,为了让开发者能从Objective-C更好过度到Swift,苹果也为Objective-C带来了Generics泛型支持。...`或`UITableViewCell子类`实例 - (__kindof UITableViewCell *)dequeueReusableCellWithIdentifier:(NSString *)...UIView *> *subviews; // 这样写代码就没有警告了: UIButton *button = view.subviews.lastObject; 3自定义泛型 声明一个Generics

93010

Swift-MVVM 简单演练(一)

---- 这篇文章都写啥 自定义NavgationBar 抽取便利构造函数 初步下拉刷新/拉加载简单处理 未登录逻辑处理 苹果原生布局NSLayoutConstraint 如何用VFL布局(...,给中间留出一个+按钮位置 自定义一个UIButton分类HQButton+Extension,封装快速创建自定义按钮方法 HQButton.swift extension UIButton {...,当改动某一处代码时候,尽量对原有代码做尽可能小改动 之前我们已经设置好leftbarButtonItem文字显示状态问题 我们需求又是在此基础直接加一个返回icon而已 因此,我们如果对自定义快速创建...点击四个子控制器时候,访客视图打印地址都不一样。...DEMO传送门:HQSwiftMVVM 参考: Swift 3 :Closure use of non-escaping parameter may allow it to escape Swift 3

10.2K51

Swift 面向对象解析(二)

ZXMessageCell: UITableViewCell { // 自定义cell继承与UITableviewCell }      继承了父类,你也就能使用父类属性方法...看下面几点,      1:重写父类方法      2:重写父类属性      3:重写属性观察者    上面的 1 2 3 只要记住一点,在重写方法,属性,观察者等等前面添加 override...哈哈~        下面给大家学习链接,希望给大家有帮助: Swift构造和析构过程 Swift 构造过程+析构过程(十三) Swift构造过程 三:多态 Swift引用变量有两个类型,...先把扩展提供功能列举出来;         1:添加类型存储属性         2:添加实例计算属性和类型计算属性         3:添加实例方法和类型方法         4:添加新构造器,而且新添加构造器不影响原来构造器...Swift学习笔记(十一)--拓展和协议 Swift协议和扩展 六  协议: Swift 协议作用类似于 OC中协议,其实OC协议你理解的话,这里也就没多少需要在强加去解释

94870

iOS 10 ~ iOS 15 tableview 适配(使用注意事项)

一、iOS 11 scrollview,tabelview出现页面偏移问题 image.png 注:iOS11后导航栏和标签栏半透明时才有这样偏移问题,不透明或者隐藏则没有; 若没有导航栏或标签栏...里面的view无法响应点击 image.png 原因是cell中contentview改为了懒加载,如果添加自定义子view前没有访问.contentview,添加view会被contentview...也是就是view会比contentview提前创建并添加到cell,导致被contentView挡住 (如果最先有对contentView访问,则contentView提前被添加,后续添加view不会被挡住...) /// 错误写法 override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?)...为nil,滑或者下滑时,这两个View都会有颜色变化,颜色与底色有关,但如果返回view为自定义View,显示是正常 3.当UITableViewStyle为Grouped时,不管是sectionHeaderView

1.9K20

RxSwift介绍(一)——RxSwift初探

swift环境下,RAC孪生兄弟RxSwift同样提供了相同框架使用,并且基于swift语言优点,RxSwift甚至能够更简洁地开发业务代码。关于RxSwift优点,大把大把的人在夸。...我自己感受是,虽然学习曲线比较陡峭,学习成本很高,一旦掌握了其开发技巧,收获要比想象中多,值得去学习并实践框架。 接下来先看一个最常用例子,swift环境中搭建一个简单tableView。...tableView在swift环境下实现 遵循tableView代理方法还是一如既往繁多 接下来,在使用RxSwift框架下改造上面的tableView,来感受下RxSwift强大。...viewModel.infoAry.bind(to: firstTableView.rx.items(cellIdentifier:resuerId)){ row,model,cell in //cell具体显示内容可在此处自定义...\(model.firstKey), secondKey \(model.secondKey), row = \(row)" }.disposed(by: disposeBag) //点击

3K40

实现 iOS 无感知拉加载更多

什么是无感知拉加载更多 什么是无感知,这个这样理解:在网络情况正常情况下,用户对列表进行连续拉时,该列表可以无卡顿不停出现新数据。...如何实现 我在看见这位网友留言时候,就开始思考了。 在我看来,有下面几个着手点: 列表滑动时候如何知道具体滑动位置以触发接口请求,添加更多数据?...(NSIndexPath *)indexPath 就是这个方法,自定义显示 cell。...SwiftCoinRankListController.swift 文件查看具体逻辑,其主要就是通过 cell 显示个数去提前请求加载数据,然后我们看看效果: ?...使用 MJRefreshAutoFooter,这个简单,我直接把基类 footer 给替换掉就可以了,本代码可以在开源项目中 BaseTableViewController.swift 文件查看:

2.2K40

使用流动控制器(Flow Controller )实现 MVVM 协议模型

在这里我重点研究应用是否有自定义和模拟用户体验能力。 MVVM 与流控制器 在这个概念下,我决定将完全使用 MVVM 写接口来创建一个明确区分。添加必要依赖关系。...对于这种情况,有必要研究一下 Swift 泛型,虽然它仍然有一些问题。...这些都是这几个星期初步结果,还有其他我期待结果我会在其他文章中一一介绍。如果他们想在 Github 跟随或者想在 Medium 编辑文章, 我将把文章发上去。 接下来要做事和致谢。...我下一篇文章将是如何建立有效测试,简单易维护。...我不能忘记感谢 Mikail Freitas 帮助我识别泛型协议初始化时错误。我们永远不明白为什么在一个案例中运行好好地,而另一个则不起作用。

95940
领券