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

在iOS 13上进入编辑模式时UITableViewCell不缩进

在iOS 13上进入编辑模式时,UITableViewCell不缩进是因为UITableViewCell的默认行为发生了变化。在iOS 13之前,进入编辑模式时,UITableViewCell会自动缩进以给编辑控件留出空间。但是在iOS 13中,UITableViewCell不再自动缩进,而是保持原始的布局。

这个变化可能会影响到一些使用了自定义布局的UITableViewCell的应用。如果希望在iOS 13上进入编辑模式时仍然实现缩进效果,可以通过以下两种方式解决:

  1. 手动设置缩进:在UITableViewCell的布局代码中,可以通过设置layoutMargins属性来手动添加缩进。例如,可以在layoutSubviews方法中添加以下代码:
代码语言:txt
复制
override func layoutSubviews() {
    super.layoutSubviews()
    
    if isEditing {
        let indentPoints = indentationLevel * indentationWidth
        contentView.frame.origin.x = indentPoints
        contentView.frame.size.width = bounds.width - indentPoints
    }
}

这段代码会在进入编辑模式时,根据缩进级别和缩进宽度来调整contentView的位置和宽度,实现缩进效果。

  1. 使用自动布局:如果使用了自动布局,可以通过设置约束来实现缩进效果。可以在UITableViewCell的布局约束中,添加一个leading约束,将其与父视图的leading约束相等,并设置一个与缩进级别和缩进宽度相关的常量。

以上是关于在iOS 13上进入编辑模式时UITableViewCell不缩进的解决方法。如果需要更详细的信息,可以参考腾讯云的iOS开发文档:iOS开发文档

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

相关·内容

  • iOS AutoLayout全解

    iOS 7(Xcode5)开始,Autolayout的开发效率得到很大的提升,苹果官方也推荐开发者尽量使用Autolayout来布局UI界面,减少纯代码的方式。...3,当ScrollView过长无法编辑怎么办?将控制器改为Freedom 修改ContentView的高度约束 这样ScrollView 就可以滚动了。 ?...接着创建一个UITableViewCell的子类,命名为C1类。然后C1.xib中,将与C1类进行关联。只需要在Class那里写入关联的类名C1即可。 ?...接着我们UITableView中来使用我们自定义的UITableViewCell C1。...当非IB创建,属性默认为YES;当IB创建View,属性默认为NO。 案例2 水平方向上放4张图片,图片等分。 1,首先在页面上拖拽1个imageView,将它的宽高都设置成50。

    4.5K60

    iOS14适配汇总:【1、隐私权限相关:定位、相册、IDFA 2、KVC相关3、UIView相关;4、网络相关】

    隐私权限适配:【相册权限】 iOS14相册权限适配 :Limited Photo Access模式、PHAccessLevel(请求查询limited权限 accessLevel 为readAndWrite...比如发现了JCore iOS SDKiOS 14引用剪贴板,该行为导致APP被用户怀疑隐私泄露,请予以重视 II、KVC相关的适配 iOS14 适配:【KVC 不允许访问 UIPageControl的...【 采用hook全局性地解决UITableViewCell兼容问题】往cell添加子视图的方式规范,导致contentView 置于自定义控件的上层,引发界面无响应(注意处理相关方法) 因此问题涉及的是添加子视图...@implementation UIWindow (QMUIUserInterfaceStyleWillChangeNotification) #ifdef IOS13_SDK_ALLOWED + (...走全局proxy的方案;3、允许验证SSL证书;4、拦截请求;5、DoH &DoT

    1.6K30

    IOS开发之新浪围脖

    IOS开发和Web开发一样,网络请求方式包括Get和Post方式。Get和Post两者有和特点和区别,本篇博客中不做过多的论述,本篇的重点在于如何GET数据和POST数据。...*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 13 { 14 UITableViewCell...之前的博客中有一篇“IOS开发之自动布局显示网络请求内容” ,用的网络请求是模拟的微博请求,博文的内容也是模拟的,接下来要用到上一篇博文的知识:根据请求内容来动态的设置Cell的高度。...先给自己发的博文设置一个垂直约束,下面转发的博文只设置编辑约束,设置高度约束。...a.我们Cell的类中需要定义一个block块的类型变量,用于TableViewController中回调使用,block回调,我们就可以把那个Cell以及Cell中被点击的按钮传到TableViewController

    1.2K50

    写给iOS小白的MVVM教程(一): 从MVC到MVVM之一个典型的MVC应用场景

    开篇之前,你可以先到这里下载本文的示例工程: https://github.com/ios122/ios122 在这一篇章里,我会分别使用我所理解的MVC与MVVC两种模式来完成同一个应用场景,以期帮助那些熟悉传统...MVC模式代码的iOS攻城狮,能更好理解MVVC.限于篇幅,将MVC和MVVM拆分为两个部分,今天要说的是一个典型的MVC的应用场景,为基于MVC的MVVM重构做个基础.这篇文章着重进行了接口准备,必须的知识点的说明等内容...页面加载自动发起网络请求获取对应分类的数据; 为了保证每次都能进入列表页,都能自动刷新数据,建议 viewWillAppear:方法刷新数据: - (void)viewWillAppear:(BOOL..."; id = "ui_13"; title = "title_ui_13"; }, { desc = "desc_ui_14";...recreated. } - (void)viewWillAppear:(BOOL)animated { [super viewWillAppear: animated]; // 马上进入刷新状态

    1.9K70

    iOS-UI控件之UITableView(一)

    设备的内存有限,如果用UITableView显示成千上万条数据,就需要成千上万个UITableViewCell对象的话,那将会耗尽iOS设备的内存。...要解决该问题,需要重用UITableViewCell对象 重用原理:当滚动列表,部分UITableViewCell会移出窗口,UITableView会将窗口外的UITableViewCell放入一个对象池中...,那么UITableView重用UITableViewCell可能会得到错误类型的UITableViewCell 解决方案:UITableViewCell有个NSString *reuseIdentifier...属性,可以初始化UITableViewCell的时候传入一个特定的字符串标识来设置reuseIdentifier(一般用UITableViewCell的类名)。...UITableViewCell对象 优化时内存分析 优化的时候 离开可视范围就销毁 频繁的开辟内存,销毁内存 - (UITableViewCell *)tableView:(UITableView

    1.8K130

    UITableView性能优化-中级篇

    UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 被调用了20次,不符合 需求1的要求 解决办法: cell每次被渲染,...cell.imageView.image = model.iconImage; }); }]; } 效果与demo.gif的效果一致 runloop - 两种常用模式介绍...下的任务会被暂停,停止滚动的时候 ==> 进入defaultMode - 继续执行defaultMode下的任务 - 例如这里的defaultMode 大tips:这里,如果使用RunLoop,滚动的时候虽然执行...-)iOS本来就是提前进入寒冬,iOS小白们可以尝试思考下这个问题 问:UITableView的圆角性能优化如何实现 答: 让服务器直接传圆角图片; 贝塞尔切割控件layer; YYWebImage为例...Demo源码 ---- 参考资料 iOS 保持界面流畅的技巧 VVeboTableViewDemo YYKitDemo UIScrollView 实践经验

    1.5K20

    iOS 面试策略之系统框架-UIScrollView及其子类

    如何定制不同 Cell 的 UI、如何与用户交互、如何与服务器端数据同步、如何在滑动最大限度保证界面的流畅,这些都是考察的要点,是一个 iOS 工程师必备的基本技能。...一般情况下我们对 UIScrollView 的操作,例如 addSubview 这样的操作都是 contentView 上进行。...tableView.deleteRows(at: [indexPath], with: .automatic) default: break } } } 注意,移动和删除操作必须在 tableView 进入编辑模式才能进行操作...一般为了用户体验,我们会引入 navigationController,然后导航栏的右上角添加 edit 按钮来让用户普通和编辑模式中切换。 6....Delelgate 这种模式的运用让整个设计的扩展度和灵活度变高。 至此我们就完成了 UICollectionView 实现瀑布流的全过程。

    2.6K21

    iOS小技能: 解决UITableViewCell兼容问题(iOS14适配)

    原因:往cell添加子视图的方式规范,导致contentView 置于自定义控件的上层,引发界面无响应(注意处理相关方法) I 问题分析 iOS14 UITableViewCell的子试图不能点击或者滑动等手势响应问题...cell.addSubView(tempView1) 这种方式添加的,通过Xcode自带的DebugViewHierarchy视图分析发现问题的原因是:被系统自带的UITableViewCellContentView遮挡底部了...关于视图层级分析你也可以使用私有API _printHierarchy 和recursiveDescription lldb 窗口进行分析: 例如先打印VC层级 (lldb) po [[[UIWindow...3.2 iOS 恢复调用栈(适配iOS14) 原理:objective-c 函数信息除了保存在符号表中,还保存在其他段中 https://github.com/zhangkn/restore-symbol4iOS14...func ios14Bug() { let sel1 = #selector(UITableViewCell.runtime_addSubview(_:))

    1.4K30

    Python的缩进规则「建议收藏」

    一个源文件建议同时使用空格和制表缩进符,当使用别人代码的时候几乎是不可能知道别人使用的是空格还是制表符,这时最好统一缩进IDEL编辑器中可以使用 Edit > Untabify Region 将任何制表符转化为空格...Python中的每一条语句都有一个缩进级别,并且缩进级别会使用栈的数据结构进行存储。开始读取文件之前,0(表示缩进级别为0,无缩进)会被首先压栈中。...#1缩进4个字符,4被压栈中。#2缩进18个字符,18被压栈中。#3缩进4个字符,18被弹出栈,栈顶值又为4了。#4和#3缩进一样,所以更新栈数据。#5缩进13个字符,所以13被压栈中。...#5、#6和#7的缩进一样,更新栈数据。#8缩进14个字符,14被压栈中。#9的缩进4个字符,所以栈中的13和14都会弹出,栈顶值又恢复为4。...#5的缩进级别在栈中找不到所以出错,#5处的缩进级别是14,比它的上面一行缩进级别18,所以#5处应该进行出栈处理,但是栈中找不到14这个级别,所以出错。

    75210

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

    的宽度是320高度是44         因为iOS5的时候, 默认Cell就是320宽(那阵屏幕就是那么宽,然后高度是44) 现在是layoutSubViews 重新绘制这个cell的宽度和高度,...其中的特例包括背景色,它的alpha值应该为1(例如不要使用clearColor);图像的alpha值也应该为1,或者画图设为不透明。...因此cell不可见,可以将其缓存起来,而在需要继续使用它即可。...做到前几点后,你的table view滚动应该足够流畅了,不过你仍可能让用户感到不爽。常见的现象就是更新数据,整个界面卡住不动,完全不响应用户请求。...因此使用ASIHTTPRequest,可以用一个NSOperationQueue来维护下载请求,并将其maxConcurrentOperationCount设为2。

    33220

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

    本文主要是介绍下iOS 11系统及iOS 11之前的系统实现左滑操作功能上的区别,及如何自定义左滑的标题颜色、字体大小。...4、上面1.2和1.3中实现的方法的区别 体验上的不同就是当左滑只有一个buttoniOS 11中可以一直左滑,滑到一定程度,会执行点击按钮的操作,iOS 11之前的不会。...iOS 11之前如果想增大button区域,可通过标题前后加空格的方式,但iOS 11不行,加空格无效,button大小固定,超过4个字换行显示。...考虑到代码的可复用性,自定义左滑操作的字体大小和颜色的代码写在viewController中,而是写在UITableView和UITableViewCell的Category中,对外提供editActionTitleColor...由上图可知,左滑的操作按钮是UITableViewCell的子view,所以我们可以UITableViewCell的category中hook掉layoutSubviews方法,找到UITableViewCellDeleteConfirmationView

    1.1K81

    解决UITableView中Cell重用机制导致内容出错的方法总结

    上面主要是一个个的UITableViewCell,可以让UITableViewCell响应一些点击事件,也可以UITableViewCell中加入UITextField或者UITextView等子视图...,使得可以cell上进行文字编辑。...UITableView中的cell可以有很多,一般会通过重用cell来达到节省内存的目 的:通过为每个cell指定一个重用标识符(reuseIdentifier),即指定了单元格的种类,当cell滚出屏幕,...比如,当一个cell含有一个 UITextField的子类并被放在重用queue中以待重用,这时如果一个未包含任何子视图的cell要显示屏幕上,就会取出并使用这个重用的 cell显示无任何子视图的cell...解决方法: 方法1 将获得cell的方法从- (UITableViewCell*)dequeueReusableCellWithIdentifier:(NSString*)identifier 换为-(

    2.4K50

    Foxmail新建文件夹后,邮件连同文件夹都找不到了

    :灵活控制视图的展示与隐藏 例子:入库单详情界面未审核状态展示审核按钮,否则隐藏审核按钮 iOS上传图片【支持删除和添加】(使用UICollectionViewCell、UITableViewCell...、加密】(递归的方式进行实现) 1、iOS网络请求安全优化:SSL证书验证, 让Charles再也无法抓你的请求数据;对请求参数进行签名;2、走全局proxy的方案;3、允许验证SSL证书;4、拦截请求...;5、DoH &DoT 使用NSURLSession敏感的数据采用ephemeralSessionConfiguration配置,与默认配置相比,这个配置不会将缓存、cookie等存在本地,只会存储在内存里...,所以当程序退出,所有的数据都会消失。...四点忌讳以及过个要点:强调效果胜过强调水平、保持一致性和向上的趋势、简历中要用好主题词。通常超过两页(A4纸正反两面)为佳。

    3.6K31

    iOS中表视图(UITableView)使用详解

    中的位置信息 - (NSIndexPath *)indexPathForCell:(UITableViewCell *)cell;  根据一个矩形范围返回一个信息数组,数组中是每一行row的位置信息 -...NSIndexPath *)indexPath toIndexPath:(NSIndexPath *)newIndexPath; 了解了上面几个函数,我们来看什么是操作刷新块: 当我们调用的上面的函数,...五、tableView的编辑操作 设置是否是编辑状态(编辑状态下的cell左边会出现一个减号,点击右边会划出删除按钮) @property (nonatomic, getter=isEditing) BOOL...editing animated:(BOOL)animated; 设置cell是否可以被选中(默认为YES) @property (nonatomic) BOOL allowsSelection; 设置cell编辑模式下是否可以被选中...BOOL allowsSelectionDuringEditing;   设置是否支持多选 @property (nonatomic) BOOL allowsMultipleSelection; 设置编辑模式下是否支持多选

    1.4K30
    领券