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

带有多个UITableVIew的UIScrollView在UIViewControllers中消失UITableViewCell's on tap

在UIViewControllers中,如果有一个UIScrollView,并且其中包含多个UITableView,当用户点击UITableViewCell时,UITableViewCell会消失。

这种情况下,可以通过以下步骤来处理:

  1. 确保UIScrollView的delegate属性已设置为当前的UIViewController。
  2. 在UIViewController中,实现UIScrollViewDelegate协议中的scrollViewDidScroll方法,该方法会在UIScrollView滚动时被调用。
  3. 在scrollViewDidScroll方法中,判断当前UIScrollView是否包含UITableView,并且UITableView的contentOffset是否超出了可见区域。
  4. 如果UITableView的contentOffset超出了可见区域,说明UITableViewCell已经消失,可以在这里处理相应的逻辑,比如更新数据源或执行其他操作。

以下是一个示例代码:

代码语言:txt
复制
class MyViewController: UIViewController, UIScrollViewDelegate {
    @IBOutlet weak var scrollView: UIScrollView!
    @IBOutlet weak var tableView1: UITableView!
    @IBOutlet weak var tableView2: UITableView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        scrollView.delegate = self
    }
    
    func scrollViewDidScroll(_ scrollView: UIScrollView) {
        if scrollView == self.scrollView {
            if tableView1.contentOffset.y < 0 || tableView1.contentOffset.y > tableView1.contentSize.height - tableView1.frame.size.height {
                // tableView1中的UITableViewCell消失
                // 处理相应的逻辑
            }
            
            if tableView2.contentOffset.y < 0 || tableView2.contentOffset.y > tableView2.contentSize.height - tableView2.frame.size.height {
                // tableView2中的UITableViewCell消失
                // 处理相应的逻辑
            }
        }
    }
}

在这个示例中,我们假设UIScrollView的delegate属性已通过Interface Builder与UIViewController关联起来,并且UITableView的IBOutlet属性已正确设置。

请注意,这个示例只是一个基本的处理方法,具体的逻辑和操作需要根据实际需求进行调整。另外,推荐使用腾讯云的移动开发解决方案,如腾讯云移动应用开发套件(https://cloud.tencent.com/product/mad)来构建和部署移动应用,以提高开发效率和用户体验。

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

相关·内容

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

    2.2 使用技巧 2.2.1 UITableViewCell去掉点击效果         相当于AndroidListViewselector设置成空/透明:     1.XIB设置         ...//处理uitableview section悬浮问题,禁止section悬浮停留 - (void) scrollViewDidScroll: (UIScrollView*)scrollView {...解决方案:           尽量将子视图layout操作放到layoutSubviews方法;另外,可以cell初始化时手动设置宽度: - (instancetype) initWithStyle...2.4.1.2 不要重复创建不必要table cell         前面说了,UITableView只需要一屏幕UITableViewCell对象即可。...,优化时无意中解决了此问题,原来调用方法是A函数调用UIGraphicsGetImageFromCurrentImageContext(C函数)生成UIImage,然后传递给B函数去处理,这样内存会暴涨

    35820

    解决UITableViewCell重用机制导致内容出错方法总结

    UITableView继承自UIScrollview,是苹果为我们封装好一个基于scroll控件。...上面主要是一个个UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以UITableViewCell中加入UITextField或者UITextView等子视图...UITableViewcell可以有很多,一般会通过重用cell来达到节省内存:通过为每个cell指定一个重用标识符(reuseIdentifier),即指定了单元格种类,当cell滚出屏幕时...,会将滚出屏幕单元格放入 重用queue,当某个未在屏幕上单元格要显示时候,就从这个queue取出单元格进行重用。...比如,当一个cell含有一个 UITextField子类并被放在重用queue以待重用,这时如果一个未包含任何子视图cell要显示屏幕上,就会取出并使用这个重用 cell显示无任何子视图cell

    2.4K50

    UITableView性能优化-中级篇

    老实说,UITableView性能优化 这个话题,最经常遇到还是面试,常见回答例如: Cell复用机制 Cell高度预先计算 缓存Cell高度 圆角切割 等等. . ....: 如果cell没进入到界面(还不可见),不会调用- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath...:(NSIndexPath *)indexPath去渲染cell,cell如果设置loadImage,不会调用; 而当cell进去界面时候,再进行cell渲染(无论是init还是从复用池中取)...cell 2基础之上,让所有的cell请求图片数据,并显示出来 步骤1: - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath...答: 如果是下载完,回调中进行切割圆角处理,其实缓存图片是原图,等于每次取时候,缓存取出来都是矩形图片,每次set都得做切割操作; 问: 那是否有解决办法?

    1.6K20

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

    列表显示,顾名思义它是一个列表视图形式显示屏幕上数据内容。于ios列表视图UITableView达到。这个类实际应用中频繁,是很easy理解。...UITableView定义头文件UITableView.h,详细定义能够查看官方文档;从定义能够看出,UITableView继承自UIScrollView类,因此支持方便地显示列表数据同一时候...详细使用过程,能够创建一个独立UITableView,也能够直接创建一个UITableViewController。...则多个 UITableViewCell构成一个section,每一个section也有头和尾视图。 以下简单新建一个demo展示一下怎样创建一个UITableView。...新生成ViewController.m文件里重写loadView方法,新建一个UITableView视图。 (别忘了把alloc视图dealloc函数释放。)

    1.9K40

    埋点统计~~从UITableView数据曝光说起

    控件iOS移动端承载这丰富信息输出,用户使用浏览中会留下丰富数据采集信息 A用户会慢慢逐条浏览呈现产品 B用户往往会快速滑动进行浏览 C用户会快速翻页进行浏览 上面的三种用户基本涵盖了这个...UII所能涵盖大部分用户行为,伴随着产生用户行做分析采集即可分辨出用户兴趣点 产品曝光度 用户对商品兴趣等一系列 UITableView数据条目曝光 UITableView中用户浏览到商品条目...目前可以这么定义---当页面滑动结束或首次加载完成时呈现给用户所有商品均算是曝光 UITableView中用户浏览略过商品条目 这个就有意思了,用户快速浏览可能会快速滑动翻页,更有甚者直接快速滑动之后让列表自己滑动...,UI阻尼情况下会慢慢自动静止,那么这被用户快速划过忽略就是商品条目就是产品没有曝光数据。...对于用户滑动过程忽略掉条目比较复杂--上滑 下滑 手指按着屏幕滑动 讲解之前我们先要处理一个问题:怎么判断屏幕滑动方向 系统我们根据给定Pan手势移动来判断 extension UIScrollView

    1.4K32

    MyLayout&TangramKit 重大升级!

    比如一些界面中有父视图尺寸由子视图尺寸来确定;还比如UIScrollView为了能实现滚动需要根据添加到里面的子视图来调整contentSize尺寸;又比如某些UITableViewCell高度是动态...3.UITableViewCell高度自适应 UITableViewCell要实现高度自适应,需要在UITableViewDelegate方法: -(CGFloat)tableView:(UITableView...然后UITableViewCell派生类视图代码布局处或者-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath...UITableViewCell高度自适应 UITableViewCell要实现高度自适应,需要在UITableViewDelegate方法: -(CGFloat)tableView:(UITableView...然后UITableViewCell派生类建立一个根布局视图,这个根布局视图作为子视图添加到contentView中代码如下: //假设根布局视图是一个垂直线性布局视图。

    2.1K20

    iOS开发-1.UITableView你会用吗?

    前一段时间,公司招聘了一个新员工,界面做出来了,但是很卡,我看完他写代码,发现没有对UITableViewCell进行循环使用,而且UITableView代理方法,创建了很多并没有什么用对象,一些调用频繁方法也没有很好地处理...Paste_Image.png 被static修饰局部变量:只会初始化一次,整个程序运行,只有一份内存。...利用标识来注册一个带有标识cell:(前提:通过stroyBoard创建UITableView,那么要拖线拿到它) ?...Paste_Image.png 选中cell,点击重用标识 这样代码,就可以省略掉:那个判断语句:if(cell== nil){创建cell方法} 以后tableView开发一个cell ?...将要显示出来方法执行下面的代码 - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell

    83030

    处于UITableView中心线cell处理

    中心cell处理.gif 本效果主要是为了获得处于UITableView屏幕中心线或者指定位置cell并进行处理需求,此效果技术点主要在于获得处于中心线位置cell,虽然tableView有方法可以直接获得处于某坐标点...cell,但我还是想用自己方法去实现,锻炼一下脑壳子,,,, //UIScrollView代理方法,滑动过程执行 - (void)scrollViewDidScroll:(UIScrollView...*)scrollView{ //获得UITableView可见cell数组,如果是奇数个的话,取数组中间cell,如果是偶数个的话,就取数组中间两个其中一个,, NSArray *...= [UIColor orangeColor]; //获得中心线与cell相对于屏幕Y坐标之差,若是cell高度之内,并大于0,那就是中心线上cell,...若是想获得CellIndexPath,可以给cell加个NSIndexPath属性,返回cell时候赋值给它 CGFloat cha = self.view.frame.size.height

    43440

    iOS开发之多表视图滑动切换示例(仿头条客户端)

    Demo对所需组件进行简单封装,封装组件中使用是纯代码形式,如果想要在项目中进行使用,稍微进行修改即可。   ...主要技术点就是通过ScrollView回调,通过事件响应来改变ScrollViewContentOffset值。回调根据ContentOffset值来计算红色指示器偏移量。   ...二:核心代码 1.组件主要属性 把上面整个视图进行了封装,命名为SlideTabBarView,下面的代码是主要属性: 1 @interface SlideTabBarView()<UIScrollViewDelegate...,根据传入个数来实例化多个按钮。...setContentOffset:CGPointMake(button.tag * _mViewFrame.size.width, 0) animated:YES]; 5 }     8.初始化下方多个表视图

    3.7K60

    iOSTableView小技巧

    1、去除多余列表线条 原始TableView没有数据行也会显示一条条线条,不太美观,用一行代码可以解决,一般放在ViewDidLoad self.tableView.tableFooterView...,TableViewDelegate方法实现: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath...滑动列表时收起键盘 一般列表都会伴随着搜索框或其他输入框,我们输入时弹出键盘,但是滑动列表时就表示我已经输入完毕了,不希望键盘保持界面上,而是自动收起,同样是TableViewDelegate方法实现...我们想要获取或者修改cell信息时,往往需要获取cell,tableviewdelegate,我们一般只能获取到indexPath这个参数,通过以下方法可以获取到对应cell: UITableViewCell...通过以下方法动态地设置cell高度: // 首先根据内容修改cell高度 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath

    97730

    阅读器多种翻页设计与实现

    (只有在此状态才响应tap手势)。...效果分解: 1、当用户滑动过程,视图要跟随手指移动; 2、当用户往上滑然后松开时,视图要带有加速度往上滑动;(附加特性:滑动过程中用户可以通过重复这个行为加速滑动) 3、视图滑动过程...,才能实现效果分解附加特性。...通常iOS实现滑动会有两大选择:UIScrollViewUITableView;(UICollectionView和UITableView类似) UIScrollView存在一个较大局限:上面的视图资源无法回收利用...以下图为例,我们使得UIScrollViewcontentSize为(view.width, 3*view.height),偏移contentOffsetY为view.height(初始状态相当于将窗口放置中间

    3.3K10

    UITableViewCell系列之(二)视觉差滚动效果前言

    前言 之前UITableViewCell系列之(一)让你cell支持二次编辑说过,很早就想系统写一篇关于UITableViewCell文章,目的是总结一下自己项目开发中用过一些关于UITableViewCell...visionDiff.gif 步骤 备注: democell是用xib文件定义、布局,而非代码方式 自定义cell。...用于tableView滚动时,更新imageViewY坐标值 UIScrollViewDelegatescrollViewDidScroll:方法里调用cell对象方法,更新imageView...控制器不能使UITableViewController,只能是UIViewControllerview上添加一个UITableView ---- 3. demo涉及到了坐标系转换问题,不了解坐标系转换可以参考如下两个方法使用...控制器.m文件 - (void)scrollViewDidScroll:(UIScrollView *)scrollView { // 1.获取当前屏幕上显示所有的cell NSArray

    6.1K30

    教你写个多表视图

    multi_table.gif 如图所示多表视图是一个很常用东西,之前我是用UIScrollView和UITableViewController做。...把当前控制器作为一个父控制器,添加三个UITableViewController实例作为子控制器,把父控制器 scrollView 作为容器,然后添加子控制器 tableView 作为子视图...因为这边只是个 Demo,所以我直接在 cell 显示cellData值,那cellData 值在哪里设置呢?...显然是HomeContainerViewController: let tableViewDataList = ["first table", "second table", "third table...这边 cell 是会被复用翻到第三页时,会复用第一页 cell ,第四页复用第二页 cell……依此类推,所以需要给 cell tableView调用 reloadData方法,不然就算改变了表数据

    1.3K30

    iOS UITableView左滑操作功能实现(iOS8-11)

    实现思想是hook系统实现,但鉴于UITableViewview层级结构iOS 11有所改变,所以iOS8-10和iOS11实现有所不同,以下分别给出。...考虑到代码可复用性,自定义左滑操作字体大小和颜色代码不写在viewController,而是写在UITableViewUITableViewCellCategory,对外提供editActionTitleColor...由上图可知,左滑操作按钮是UITableViewCell子view,所以我们可以UITableViewCellcategoryhook掉layoutSubviews方法,找到UITableViewCellDeleteConfirmationView...由上图可知,左滑操作按钮是UITableView子view,所以我们可以UITableViewcategoryhook掉layoutSubviews方法,找到UISwipeActionPullView...,这个数组最多有两个元素,因为左滑出下一个cell时,上一个cell会逐渐消失,当此cell左滑操作完成时,上一个左滑cell也会完成消失

    1.1K81
    领券