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

如果一个tableViewCell在另一个tableView中,如何同时找到两个tableView的tableView?

在iOS开发中,如果一个tableViewCell在另一个tableView中,可以通过以下方式同时找到两个tableView的tableView。

  1. 使用代理模式:在tableViewCell所在的类中定义一个代理协议,并在代理协议中声明一个方法,用于传递tableView的引用。然后,在tableView的代理方法中,将tableView的引用传递给tableViewCell。这样,tableViewCell就可以通过代理方法获取到所在的tableView。

示例代码如下:

代码语言:txt
复制
// 在tableViewCell所在的类中定义代理协议
protocol TableViewCellDelegate: AnyObject {
    func didFindTableView(tableView: UITableView)
}

class TableViewCell: UITableViewCell {
    weak var delegate: TableViewCellDelegate?
    
    // 在tableView的代理方法中调用代理方法,将tableView的引用传递给tableViewCell
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "TableViewCell", for: indexPath) as! TableViewCell
        cell.delegate?.didFindTableView(tableView: tableView)
        return cell
    }
}
  1. 使用父子视图关系:在tableViewCell所在的类中,通过superview属性获取到父视图,然后再通过父视图的superview属性获取到所在的tableView。

示例代码如下:

代码语言:txt
复制
class TableViewCell: UITableViewCell {
    // 在tableViewCell中获取所在的tableView
    func findTableView() -> UITableView? {
        var view = superview
        while view != nil {
            if let tableView = view as? UITableView {
                return tableView
            }
            view = view?.superview
        }
        return nil
    }
}

以上两种方式都可以同时找到两个tableView的tableView。根据具体的需求和代码结构,选择适合的方式即可。

注意:以上代码示例为Swift语言,如果使用Objective-C语言开发,可以进行相应的语法转换。

相关搜索:如果tableview在tabview单元格中,如何获取tableview内容高度?在tableViewCells中使用collectionViews进行通信。此tableView在另一个tableViewCell中如何使用一个tableview的按钮自动选择另一个tableview的按钮all在TableView中更改TableColumn背景,同时保留交替的行颜色?一个tableView单元中的两个collectionViews。collectionViews未出现如何在UICollectionViewCell中创建一个完全扩展的TableView?无法在Swift的TableView中显示另一个视图控制器中的值如何使用Xcode在ios的tableview中显示表格单元中的数据在另一个视图控制器中使用tableView if语句中的数组如何在swift中显示位于另一个数组中的数组的tableView中的项?在Objective-C中,如何使用tableView引用用另一个NSMutableArray中的对象初始化NSMutableArray如何从用户选择的数据库表在JavaFX中创建动态TableView如何在同一个tableview上显示来自json的两个不同的数据如何在一个类中实现两个具有不同委托和数据源方法的Tableview?Swift -以编程方式将TableView放置在另一个带约束的视图下方如何在JavaFX中创建一个在运行时动态添加列的TableView?尝试在tableview中配置两个单元格时,出现"Fatal error: Index of range“的错误如何获取显示在TableView单元格中的数据并将其显示在文本字段中?在JavaFX TableView中,如何根据某些按钮单击事件更改复选框行的颜色如何像Google Calendar那样将单元格的内容滚动到tableview中的另一个单元格?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

史上最全iOS之访问自定义celltextField.textN种方法

也不能够通过分支语句方式一一枚举出各个case。所以需要一通用动态方法。那么我们怎么tableView准确拿到每一行celltextFieldtext呢?...cellWithXib.png 四个方法告诉你如何tableView拿到每一个celltextField.text 四个方法分别如下: 通过控制器textField属性来拿到每一个cell内...1.tableViewController.m类扩展声明为每一个celltextField都声明一个UITextField类型属性,一一对应。...3.然后监听到通知后调用方法,根据textField.tag拿到textField内容。 但是,问题来了,如果tableView是grouped样式呢?...1>给cell制定一份协议,协议中有一个方法,带有两个参数,一个是textFieldtext,另一个是indexPath。同时给cell添加一个delegate属性。

6.8K40
  • 关于cocos2dx之lua使用TableView

    在手机游戏开发,滚动是一项非常重要操作,而cocos2dx中使用最广泛就属于TableView了,不过由于cocos2dx接口比较晦涩,所以需要一个熟悉过程。...本文主要讲解如何使用TableView。 首先当然是创建一个TableView,这比较简单,和其他控件差不多。看看示例代码: self....) TABLECELL_TOUCHED:TableView被触摸时候回调,主要用于选择TableViewCell。...所以触摸和选中等逻辑处理时候,一定不能使用cell来标识。因为同一个cell物理对象,可能会映射N个逻辑对象。...通常我做法是tableCellAtIndex把当前cell对应逻辑对象存起来,这样tableCellTouched就可以直接找到物理cell对应逻辑对象来处理了。

    2.2K20

    【IOS开发基础系列】Storyboard专题

    1 简介 1.1 故事板简介         如果 app 有大量窗口,故事板能帮你减少许多用于从一个窗口转到另一个窗口导航代码。...3、哪怕 tableview 上故事板仍然有用,例如定制    tableviewcell。你完全可以故事板编辑器设计自己 tableview,这也节省了不少代码。         ...这会使 cell 变成包含有两个label cell。如果你曾经自己手动创建过TableViewCell,你应该知道这就是UITableViewCellStyleSubtitle样式。...如果是使用IB , MainWindow.xib中会有应用程序委托一个引用,同时你可以将顶层ViewController 连接到应用程序委托IBOutlet 属性。但现在使用故事板就不可能了。.../details/7565690 3.1.4 一个VC继承自另一个VC,对于父类View,如果子类初始化时想不一样大小,如何在故事板处理 4 开发技巧 4.1 View分辨率 4.1.1 wAny和

    1K30

    UITableViewCell自适应网络不规则图片和文字组合高度

    列表样式 有时我们会需要对cell图片和文字进行显示并完美自适配其大小,下面用我有限知识做了个适配,看着好像还能用,哈哈 直接上code 001 tableview获取cell高度方法里写调用自定义...cell一个方法 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath...{ // 计算cell内容高度 TableViewCell *cell = (TableViewCell *)[self tableView:_tableView cellForRowAtIndexPath...:indexPath]; return [cell cellForHeight]; } 002 接下来开始重点喽 自定义TableViewCell.h文件, 做主要控件 @interface...sharedImageCache] imageFromDiskCacheForKey: imageURL]; // 没有找到已下载图片就使用默认占位图,当然高度也是默认高度了,除了高度不固定文字部分

    2.1K20

    iOSCell约束--使用xib实现多label自动约束--高度随内容自适应

    made in 小蠢驴配图        说起iOS开发,很多人印象就是-弄一个tableView,把数据全丢到上面展示,听起来好像很粗糙,不过仔细一想,确实展示数据内容,用tableView是最多了吧...实现cell高度自适应简单方法; 手动设置数据源,初始展示 如图,这是最简单tableView了,只有两个label,没有任何其他控件,未做任何处理情况下,我们发现,内容是会越界(跑屏幕之外...tips:这里只有两个label,并且没设置宽度约束(如果竖直方法,就是高度约束),都根据内容显示时候,才会报错,如果你比如左侧label内容是固定(比如都是“姓名”),直接添加一个宽度约束,就可以解决...= 0,通过计算得到valueLabel宽度; 约束设置图 如图,因为如果同一行,两个label都不设置宽度约束,由于label默认会根据内容自适应,两个不确定约束 -->导致约束报错!...修改完展示 此时,label相互之间约束冲突就解决了~ ---- 接下去,就是设置tableViewCell高度自适应问题了; xib快捷设置方法:1.xib,设置 顶部 和 底部 约束之后

    3.4K60

    【swift学习笔记】三.使用xib自定义UITableViewCell

    使用xib自定义tableviewCell看一下效果图 1.自定义列 新建一个xib文件 carTblCell,拖放一个UITableViewCell,再拖放一个图片和一个文本框到tableviewcell...上 并给我们xib一个标识 为了学习,我这里xib和后台class是分开建。...我们再建一个cocoa touch class文件名称为CarCellTableViewCell继承自UITableViewCell 并把我们xib和新建CarCellTableViewCell建立联接...CarCellTableViewCell里建立和xib图片和文本框输出 import UIKit class CarCellTableViewCell: UITableViewCell {...main.storyboard上拖放一个uitableview,并在后台代码建立输出联接 1.load事件里注册xib 2.tableveiw方法里得到当前列,指定数据源。

    1.9K70

    iOS开发中行高灵活可变UITableView性能优化

    iOS开发中行高灵活可变UITableView性能优化 一、UITableView构建原理         新闻类,电商类等应用,应用着大量图文混排视图,表视图UITableView,...上面列举5拉取cell高度场景TableView配置部分只会在TableView第一次展现在屏幕上时出现,但是其拉取是所有行行高数据,如果表视图有100行或者更多,这将是一个十分耗费性能过程...,具体如何操作比较灵活,可以对应一个数组属性,将计算后行高放入数组,每次取行高时,检查数组是否已经有计算过行高数据,如果有直接返回。...iOS7系统之后,UITableView类增加了一个estimatedRowHeight属性,顾名思义,这个属性是设置UITableViewCell大约行高值。...,如果开发者需要精准这个滚动条配置,可以如下代理方法返回具体cell估计行高。

    1.9K20

    TableView优化之快速滑动下忽略加载

    老司机看来,作者最有效优化分为4部分: TableViewCell圆角优化 缓存行高 相对固定图片及文字采用CoreText绘制 TableView加载数据逻辑优化 ---- 1.圆角 这部分作者优化很简单...然后是判断needLoadArr是否包含有当前indexPath,若没有返回。继续判断当前TableView是否处于快速回到顶部过程如果是的话也不绘制。...helper类 这个类只需要一个属性,是一个数组。就是你平常写TableView时候数据源。 然后.m我们就可以像平常写TableView一样在这里面写代理了。...假装写了两个代理 无视我cell和model,嫌累没创建=。= 最后VCTableViewdataSource设成Helper就好了。...tableView对dataSource是弱引用,如果不持有helper就被释放了。 就是这么一个思路。的确该写你都写了,不过好处就是你以后把helper类拿到另一个工程还可以直接用。

    1.7K33

    重拾swift版本MVP

    当然是主角P啦--MVP模式就是将MVCC复杂逻辑主战场移动到了P……而对于P来说势必会持有:View 和 负责对View绑定,于是……下面的P基类应运而生 public class BasePresenter...{ return mView } } BasePresenter作为IPresenter基础逻辑扩充,同时负责从CView绑定,最终完成交互C=>P=>V=>C一个完成闭环...… 万事具备,下面我们看看怎么完成一个简单MVP流程……展示流程时候我们先看看基本项目结构 ?...TableView点击响应传递,此处我们将ViewController作为MVPView,而Controller只需要接受MVP传递数据和事件完成UI跳转控制即可----逻辑和事件数据交个MVP...stringValue = "xxxxxxx" return tableViewCell } func tableView(_ tableView: NSTableView

    84840

    iOS开发遇到一些小问题记录

    1. tableView下方出现莫名空白 tableFooterView问题 一般来说,tableview会默认有一个footerview 解决:视图加载时将这个footerview设为没有高度或者是空...这时如果系统计算预估值出现误差就会出现空白问题。 解决: 设置tableView自动预估值为0 tableView.estimatedRowHeight = 0 2....解决:以源代码方式打开storyboard文件、检查是否有大量堆砌代码图片文件。直接删除掉。 重新以视图方式打开,提示丢失文件,画面可以看到一个?图片。重新设置一张图片即可!...而后台线程是非阻塞,当非阻塞线程某个函数循环时候向某个UI发起调用,如果在主线程,这个函数就已经被阻塞了,而后台线程不会,这时重复向UI发起调用,就可能导致指针冲突等意外问题。...为类添加协议( protocol ) 类协议 需要和类是单独两个类,相当于一个明星需要一个经纪人一样 class Star:Person{ var delagate:StarDelagate

    80110

    底牌项目中选择牌谱上传功能--深刻理解UITableView复用

    问题: 选中一张图片后会将该图片存储到一个数组以便上传,可当再次点击按钮取消选中图片时却不知道该如何将该图片从数组删除。...解决: Cell制定协议设置代理,选中图片按钮点击事件如果代理响应了协议方法则让代理执行该方法。关键:该方法要将图片信息传递过去。...解析代码:当存放图片数组为空时候,直接添加图片,同时将图片ID放到另一个数组。  ...当图片数组不为空时,如果有图片传递过来(不论是选择图片还是反选图片)就将其添加到图片数组同时将图片ID添加到另一个数组。...之前已经将选中图片image对象和图片ID分别添加到了两个数组设置单元格内容方法中将选中图片ID(通过ID可以更好滴比较两个图片是否是同一张图片)传递过来。

    1.1K10

    【死磕iOS】处理不等高TableViewCell小花招

    第一步:硬生生将每个Cell高度算出来,并保存在一个数组 第二步:heightForRow方法返回相应CellHeight #import "CalculatorViewController.h...方案三:cellForRow代理方法算 说明:其实,要隆重介绍是方案三~ 思路: 既然想知道Cell高度,那么一定是Cell自己最懂自己有多高啦(面向对象思维)。...那么,在哪里能拿到Cell和Cell高度呢? - 当然是CellForRow代理方法啦! 但是,CellForRow拿到Cell高度后,如何传递给heightForRow代理方法呢?...- 可以将Cell高度保存在一个数组,或者保存在Cell对应Model~ 但是,我们知道系统对tableView代理方法调用顺序,是先调取heightForRow再调取cellForRow呀...传送门 - iOS项目实例:QQ聊天界面UI搭建 注意:如果实现了estimatedHeightForRow代理方法,可能会造成tableViewContentSize值不正确哦!

    1.3K80

    iOS-UITableView 详解(一)

    分组样式UITableViewStyleGrouped UITableViewCell UITableView每行都是一个UITableViewCell,UITableViewCell样式我们可以通过...textLabel,左下方显示detailTextLabel(默认灰色),imageView可选(显示最左边) }; 简单使用 接下来我们先来完成一个简单UITableView使用 首先看一下数据结构关系...cars_total.plist 可以看到数组里面包含若干个字典,字典里两个键值,一个是汽车数组,一个是标题,数组又是若干个字典,分别是icon键值和 name键值 接下来我们来创建汽车模型 CLCar.h...UITableViewDataSource 数据源方法 // 以下两个方法是UITableViewDataSource required 必须实现方法 // 返回每组行数 -(NSInteger)...头标题演示 本文借鉴了很多前辈文章,如果有不对地方请指正,欢迎大家一起交流学习

    1.3K50

    UITableViewCell系列之(一)让你cell支持二次编辑

    关于UITableViewCell一些别具一个样式和用法。很早就想系统写一篇文章,文章囊括开发UITableViewcell一些花样用法和奇葩用法。...结果还是以简短方式分享出来,因为没有太多时间思考文章脉络和条理。这只是一个开头,关于UITableViewCell一些特殊用法,我还会继续在这个系列更新。...每个开发者采用方式不同,有的开发者直接以modal/push方式present出一个控制器,把tableViewCell内容传递到被modal/push控制器UITextView上,UITextView...另外一种方法是直接在当前控制器(界面)上以动画(甚至是没有动画)形式弹出一个UITextView,UITextView上修改文本内容,修改完成后再隐藏/移除UITextView,把内容重新显示到tableView...2.获取显示所有cell,遍历数组每个cellframe,找到点击那个cell - (WSEnableEditCell *)getCellInTableView:(UITableView *)

    7.8K40

    iOS-UI控件之UITableView(三)- 自定义不等高cell

    Storyboard_不等高 对比自定义等高cell,需要几个额外步骤(iOS8开始才支持) 添加子控件和contentView之间间距约束 设置tableViewCell真实行高和估算行高...; // 告诉tableView所有cell估算高度 self.tableView.estimatedRowHeight = 44; 改变cell高度,只需要改变约束值。...如果要支持iOS8之前 如果cell内部有自动换行label,需要设置preferredMaxLayoutWidth属性 - (void)awakeFromNib { // 手动设置文字最大宽度...:方法调用次数) self.tableView.estimatedRowHeight = 200; 代理方法中计算cell高度 XMGStatusCell *cell; - (CGFloat)tableView...:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { // 创建一个cell(cell作用:

    869100

    制作动态framework与静态framework那些坑

    我们使用xib方式创建了tableView和cell以及一个viewcontroller 3 需要暴漏给外部使用h文件 好了基本工程已经出来了,现在我们来看看怎么玩这两种形式framework...XcodeProducts找到编译后App,右键finder找到对应app文件显示包内容即可 ?...其实这些资源文件都是我们动态库,我们需要从动态库中去加载他们 那么怎么来获取动态库,那当然是动态获取啦 //自定义framework Mach-O Type 为 dynamic 时候bundle...:@"res.bundle/test.png"]; 因为此时它是游离于静态库之外,main bundle我们可以采用传统从main bundle加载资源方式按照名称加载(此时多了个壳,因为bundle...将Link Binary With Library 引入 ===》 目的是头文件可以导入查找文件声明 Copy Bundle Resources 将静态库与resource对应bundle导入项目

    2K20

    【iOS7一些总结】9、与列表显示():列表显示UITableView

    列表显示,顾名思义它是一个列表视图形式显示屏幕上数据内容。于ios列表视图UITableView达到。这个类实际应用中频繁,是很easy理解。...UITableView定义头文件UITableView.h,详细定义能够查看官方文档;从定义能够看出,UITableView继承自UIScrollView类,因此支持方便地显示列表数据同一时候...详细使用过程,能够创建一个独立UITableView,也能够直接创建一个UITableViewController。...新生成ViewController.m文件里重写loadView方法,新建一个UITableView视图。 (别忘了把alloc视图dealloc函数释放。)...视图控制器实现这两个代理方法: - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

    1.9K40
    领券