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

iOS 11中的UITableView滑动关闭

UITableView是iOS开发中常用的控件之一,用于展示列表数据。在iOS 11中,UITableView新增了滑动关闭的功能。

滑动关闭是指当用户在UITableView上向左或向右滑动时,可以关闭当前的视图控制器。这个功能可以提供更好的用户体验,使用户可以方便地返回上一级页面。

UITableView滑动关闭的实现方法如下:

  1. 在UITableView所在的视图控制器中,设置isModalInPresentation属性为true。这可以通过在视图控制器的viewDidLoad方法中添加以下代码实现:if #available(iOS 11.0, *) { self.isModalInPresentation = true }extension YourViewController: UIGestureRecognizerDelegate { func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { if let panGestureRecognizer = gestureRecognizer as? UIPanGestureRecognizer { let translation = panGestureRecognizer.translation(in: view) if translation.x > 0 { return false } } return true } }yourTableView.panGestureRecognizer.delegate = self
  2. 在视图控制器中,实现UIGestureRecognizerDelegate协议,并重写gestureRecognizerShouldBegin方法。在该方法中,判断手势的方向,如果是向左或向右滑动,则返回false,禁止滑动关闭。以下是一个示例代码:
  3. 在视图控制器中,将UIGestureRecognizerDelegate设置为UITableView的代理。在视图控制器的viewDidLoad方法中添加以下代码:

UITableView滑动关闭的应用场景:

  • 在需要展示大量数据的页面中,用户可以通过滑动关闭快速返回上一级页面,提高操作效率。
  • 在需要展示详细信息的页面中,用户可以通过滑动关闭返回列表页面,方便查看其他数据。

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

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

相关·内容

iOS UITableView 滑动到底部加载更多数据

前言 很多APP都是滑动到底部时点击加载更多才会加载数据,这样用户体验就会有间断感,所以我们想用户看到最后时自动加载数据 怎么做呢 有人会说用一下这个方法 - (void)tableView:(UITableView...这种方法确实能判断滑动到最后 但是加载数据时 这个方法又回被调用 造成无限循环 所以不建议使用 这里我使用是这个方法 - (void)scrollViewDidScroll:(UIScrollView...*)scrollView{ } 具体代码 定义一个全局变量 @property(nonatomic)bool isLoading; 来标示是否正在加载数据 然后根据滑动高度做判断 看是否滑动到了底部...content高度 小于 tableview高度 if(scrollViewHeight>=maximumOffset){ CGFloat space = currentOffset...我们会在加载更多方法里直接设置self.isLoading = false; 但是由于视图动画还在滑动就会反复触发加载更多方法 解决方法就是延迟设置self.isLoading = false;

2.3K10

iOS - Swift UITableViewscrollToRow

2.退出键盘不做任何操作再打开键盘也是滚到刚才那里(即最新消息上一条所在位置) 3.只有在退出键盘后把聊天消息列表消息向上拉一点距离露出最新消息所在cell之后,再点击才有用 ?...: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell func tableView(_ tableView: UITableView...结论 �现在清楚了,要想在调用 scrollToRow 到指定那一行,前提条件是那一行高度不能为0。...所以在上面的情况中,发送完消息后,最新消息cell的确是插入到了tableView,也有显示出来(后面我自己测),但就是无法滚到最新消息那一行,就是因为 heightForRow 返回高度为0...在上面的情况中,向上拉一点距离露出cell后scrollToRow才有效就是因为此时heightForRow返回高度不再为0 解决方案 按本人自身情况来说,有两种解决方法 第一种 在传入模型数据中给予明确计算出来数值就好

1.7K50

iOS UITableView获取特定位置cell

一、tableView双级联动 [菜单栏联动.gif] [UITableView双级联动.gif] 以上两种效果比较类似,实现关键在于都是需要获得在滑动过程中滑动到tableView顶部cellindexPath...indexPath.section] atScrollPosition:UITableViewScrollPositionMiddle animated:NO]; } } 二、 获取处于UITableView...中心cell [获取UITableView中心线cell.gif] 获取处于tableView中间cell效果,用上述方案一比较麻烦:要考虑可见cell 奇、偶个数问题,还有cell是否等高情况...;方案二用起来就快捷方便多了,取cell位置纵坐标相当于在偏移量基础上又增加了tableView高度一半。...代码如下: - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ //获取处于UITableView中心cell //系统方法返回处于

4.7K80

iOS UITableView获取特定位置cell

一、tableView双级联动 菜单栏联动.gif UITableView双级联动.gif 以上两种效果比较类似,实现关键在于都是需要获得在滑动过程中滑动到tableView顶部cellindexPath...indexPath.section] atScrollPosition:UITableViewScrollPositionMiddle animated:NO]; } } 二、 获取处于UITableView...中心cell 获取UITableView中心线cell.gif 获取处于tableView中间cell效果,用上述方案一比较麻烦:要考虑可见cell 奇、偶个数问题,还有cell是否等高情况;...方案二用起来就快捷方便多了,取cell位置纵坐标相当于在偏移量基础上又增加了tableView高度一半。...代码如下: - (void)scrollViewDidScroll:(UIScrollView *)scrollView{ //获取处于UITableView中心cell //系统方法返回处于

1.2K30

一个多UITableview左右滑动简单解决方案

前言 本文源自实际开发中需求,核心要求有几个: 1、多个UITableview要支持左右滑动; 2、点击Tab也要有UITableview滑动切换效果; 3、每个UITableview单独下拉刷新和上拉加载...某条.gif 正文 1、核心思路 根据要求来分析,可以采用UIScrollView作为容器,开启pageEnable属性实现左右分页,同时关闭UIScrollView上下滑动手势(避免和UITableview...滑动手势冲突 如果UIScrollView容器上下滑动手势打开,会存在两个上下滑手势,一般操作不会触发UIScrollView容器上下滑动(因为上下滑动优先被内部UITableView捕获)。...如果在页面左右滑动同时,再进行上下滑动,就会触发UIScrollView上下滑动,造成异常现象(UITableView上下滑动不再生效)。...解决办法:contentSize高度设置为0,关闭vertical滚动。

2.6K71

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

实现思想是hook系统实现,但鉴于UITableViewview层级结构在iOS 11中有所改变,所以iOS8-10和iOS11实现有所不同,以下分别给出。...考虑到代码可复用性,自定义左滑操作字体大小和颜色代码不写在viewController中,而是写在UITableView和UITableViewCellCategory中,对外提供editActionTitleColor...1、iOS 8-10 设置标题颜色和字体 左滑操作后,UITableView层级结构如下图: [4.png] 由上图可知,左滑操作按钮是在UITableViewCell子view,所以我们可以在UITableViewCell...代码如下: [5.png] 2、 iOS 11 设置标题颜色和字体 左滑操作后,UITableView层级结构如下图: [6.png] 由上图可知,左滑操作按钮是在UITableView子view...,所以我们可以在UITableViewcategory中hook掉layoutSubviews方法,找到UISwipeActionPullView子view button,设置字体颜色和大小。

1.7K80

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

实现思想是hook系统实现,但鉴于UITableViewview层级结构在iOS 11中有所改变,所以iOS8-10和iOS11实现有所不同,以下分别给出。...考虑到代码可复用性,自定义左滑操作字体大小和颜色代码不写在viewController中,而是写在UITableView和UITableViewCellCategory中,对外提供editActionTitleColor...1、iOS 8-10 设置标题颜色和字体 左滑操作后,UITableView层级结构如下图: ?...2、 iOS 11 设置标题颜色和字体 左滑操作后,UITableView层级结构如下图: ?...由上图可知,左滑操作按钮是在UITableView子view,所以我们可以在UITableViewcategory中hook掉layoutSubviews方法,找到UISwipeActionPullView

58040

Ios常用第三方框架(二)

Atlas-iOS - 快速在iOS里集成聊天功能,类似开源版本环信。Layer家开源了一套聊天app界面的解决方案.看起来很赞,很多蛮复杂东西直接都帮封好了。...PagerTab - UIScrollView实现滑动转换页面,类似网易云音乐iOS页面滑动切换效果。 GUITabPagerViewController - 多个tab滑动切换。...LxTabBarController - 改变了原生tabbar切换tab时生硬效果,并加入滑动切换手势(有和界面上其它手势发生冲突风险,可根据具体项目予以关闭),swift版本。...UITableView-FDTemplateLayoutCell - UITableView-FDTemplateLayoutCell 是一个方便缓存 UITableViewCell 高度框架。...YX_UITableView_IN_UITableView - UITableview嵌套UITableView案例实践(仿淘宝商品详情页实现),项目讲解。

7.6K60

iOS 固定UITableViewcell.imageView.image图片大小

经常开发过程中会用到默认UITableViewcell.imageView.image,如果图片尺寸刚好跟我们想要尺寸一样的话倒也相安无事,但总是有意外,经常从接口获取图片尺寸大小是不固定,例如下图...图1-1 图片尺寸大于cell高度,所以就被“撑爆”了,显得非常不美观、和谐,如果cell高度不固定,图片尺寸又不同,那效果就更加难看了,那我们怎么做呢?...(目前为止我觉得最简单方法) UIImage * icon = [UIImage imageNamed:@"goods_1"]; CGSize itemSize = CGSizeMake...size是创建上下文大小,同时也是上下文处理图形后返回大小 opaque透明开关,如果图形完全不用透明,设置为YES以优化位图存储。...缩放因子 *2 调用UIGraphicsGetImageFromCurrentImageContext()函数可从当前上下文中获取一个UIImage对象,这样就讲改变了图片取出来了 *3 在完成对图片操作之后要关闭该上下文

1.4K40
领券