UITableView的位置向下偏移, contentInsetAdjustmentBehavior使用详情

一.contentInsetAdjustmentBehavior

作用:

在iOS 11及以后,苹果引入了安全区域(Safe Area)的概念,当UITableView的frame超出了安全区域,系统会自定调整SafeAreaInsets的值,它可以自动调整内容的内边距,使得内容不会被导航栏遮挡。调整的距离分别是20pt(没有naviagtionBar,下移了一个statusBar的高度),64pt(naviagtionBar的高度以及statusBar的高度)

取值:

automatic(默认)==>通常和`scrollableAxes`相同,但也会根据其他条件调整。

scrollableAxes==>只在可滚动的方向上调整内边距

never==>不调整内边距

always==>总是调整内边距,无论是否可滚动

//使用场景
if (@available(ios 11.0,*)) {//当contentInsetAdjustmentBehavior设置为UIScrollViewContentInsetAdjustmentNever的时候,adjustContentInset值不受SafeAreaInset值的影响UIScrollView.appearance.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;UITableView.appearance.estimatedRowHeight = 0;UITableView.appearance.estimatedSectionFooterHeight = 0;UITableView.appearance.estimatedSectionHeaderHeight = 0;}

二.sectionHeaderTopPadding

作用:

这个属性是`UITableView`在iOS 15中引入的,用于设置每个section的header顶部的内边距(padding)。在iOS 15之前,section header默认会紧贴在导航栏下方,而在iOS 15中,苹果为每个section header顶部增加了一个默认的间距(通常是22pt)。如果你想要移除这个默认的间距,可以将这个属性设置为0。

背景

iOS 15 默认在每个 Section Header 上方增加了空白(默认值 22pt),通过此属性可修改或移除。

//使用场景
if (@available(ios 15.0,*)){UITableView.appearance.sectionHeaderTopPadding=0;}

三.translatesAutoresizingMaskIntoConstraints

作用:

这个属性是`UIView`的一个属性,用于控制视图的自动调整掩码(autoresizing mask)是否转换为Auto Layout约束。默认情况下,这个属性是`true`,意味着系统会将autoresizing mask转换为对应的约束,这在使用代码创建视图并打算使用Auto Layout时可能会导致约束冲突。

因此,当我们使用Auto Layout来布局视图时,通常会将这个属性设置为`false`,以避免自动转换的约束与我们手动添加的约束产生冲突.

注意事项:
  • 使用 代码创建视图 时,必须设为 false 才能添加自定义约束。
  • Storyboard/XIB 创建的视图会自动设为 false
//使用场景UITableView.appearance.translatesAutoresizingMaskIntoConstraints = NO;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/89200.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/89200.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

腾讯云RayData全新推出“行业解决方案模板”,一键快捷制作3D数据可视化作品

点击蓝字⬆ 关注我们 本文共计958字 预计阅读时长3分钟 腾讯云RayData Plus是一款专注于高视效的3D数据可视化的实时渲染工具。 功能全面:提供了三维、二维、动画、数据、交互逻辑等各类能力; 零代码制作:灵活的节点式创作,即便没…

深度解析基于贝叶斯的垃圾邮件分类

贝叶斯垃圾邮件分类的核心逻辑是基于贝叶斯定理,利用邮件中的特征(通常是单词)来计算该邮件属于“垃圾邮件”或“非垃圾邮件”的概率,并根据概率大小进行分类。它是一种朴素贝叶斯分类器,因其假设特征(单词…

WPF 3D 开发全攻略:实现3D模型创建、旋转、平移、缩放

🎮 WPF 3D 入门实战:从零打造一个可交互的立方体模型 标题: 🚀《WPF 3D 开发全攻略:实现旋转、平移、缩放与法线显示》 💡 引言 在现代图形应用中,3D 可视化已经成为不可或缺的一部分。WPF 提供…

Ruby 安装使用教程

一、Ruby 简介 Ruby 是一种简单快捷的面向对象脚本语言,以优雅、简洁、易读著称。它常被用于 Web 开发(如 Ruby on Rails 框架)、自动化脚本、DevOps、命令行工具等领域。 二、Ruby 安装教程 2.1 支持平台 Ruby 支持跨平台运行&#xff0c…

python | numpy小记(五):理解 NumPy 中的 `np.arccos`:反余弦函数

python | numpy小记(五):理解 NumPy 中的 np.arccos:反余弦函数 一、函数签名与核心参数二、数学定义与取值范围三、基础使用示例四、与 Python 内建 math.acos 的对比五、常见问题与注意事项六、典型应用场景1. 三维向量夹角计算…

华为云Flexus+DeepSeek征文 | 华为云ModelArts与Reor的完美结合:创建高效本地AI笔记环境

华为云FlexusDeepSeek征文 | 华为云ModelArts与Reor的完美结合:创建高效本地AI笔记环境 引言一、ModelArts Studio平台介绍华为云ModelArts Studio简介ModelArts Studio主要特点 二、Reor介绍Reor简介Reor主要特点 三、安装Reor工具下载Reor软件安装Reor工具 四、开…

【启发式算法】Dynamic A*(D*)算法详细介绍(Python)

📢本篇文章是博主人工智能(AI)领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅…

报告怎么写

替代方案(按场景选择) 岗前准备阶段 ✅ "熟悉业务流程/系统操作" ✅ "掌握XX工具/平台的核心功能" ✅ "完成上岗前技术对接" 知识转化场景 ✅ "梳理产品知识体系" ✅ "转化技术文档为实操方案" ✅ &…

大模型——怎么让 AI 写出好看有设计感的网页

大模型——怎么让 AI 写出好看有设计感的网页 你让 AI 给你写的网页大概都是这样的: 或者这样: 好点的时候能这样: 但都不够高级,尤其是那个像引用一样的边框,太 AI 了。 今天教大家一个小技巧,写出下面这样的网页: 或者这样的

【Torch】nn.Linear算法详解

1. 定义 nn.Linear 是 PyTorch 中最基础的全连接(fully‐connected)线性层,也称仿射变换层(affine layer)。它对输入张量做一次线性变换: output x W T b \text{output} x W^{T} b outputxWTb 其中&a…

ZGC收集器

ZGC收集器 欢迎来到我的博客:TWind的博客 我的CSDN::Thanwind-CSDN博客 我的掘金:Thanwinde 的个人主页 0.前言 ZGC收集器完全可以说是Java收集器的一个跨时代的收集器,他真正意义上实现了停顿时间在10ms以内并且几乎全时段都是…

隧道技术篇2frp代理nps代理shisel代理

FRP代理 1.实现湖北内网控制北京的内网C2上线 2.实现湖北内网探针北京内网 信息收集 (socks建立和端口映射) 1.连接47.98.210.85 7000端口服务端 2.尝试将服务端的6666转到127.0.0.1 5555采用tcp协议,备注名proxies serverAddr"47.98…

[Python 基础课程]PyCharm 的安装

Python 的编辑器目前主流的有 PyCharm 和 Vscode。 PyCharm 是 Python 目前最主流、最常用、最推荐的 Python 编辑器。 https://www.jetbrains.com/pycharm/ PyCharm 有社区版和专业版,可以根据自己的需要下载对应的版本。社区版是收费的,对于初学者或…

Spread Ribbon 工具栏控件:在WinForms中高效编辑Spread工作簿

引言 在数据密集型应用中,电子表格功能是提升用户体验的关键要素。GrapeCity Spread.NET V17 推出的独立 Ribbon工具栏控件,为WinForms开发者提供了与Excel高度一致的UI交互体验。通过集成此控件,用户可直观地进行数据编辑、格式调整等操作&…

leedcode:找到字符串中所有字母异位词

问题:给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 package com.text;import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map;…

华为云Flexus+DeepSeek征文|基于华为云 Flexus Dify平台开发AI Agent的详细流程

目录 一、Dify 应用开发平台 1.1 什么是 Dify? 1.2 Dify 平台优势 二、构建 AI Agent 2.1 创建智能客服助手 2.2 配置 LLM组件 三、访问智能应用 3.1 应用发布 3.2 智能对话 四、API 调用智能客服助手 4.1 配置 API 访问接口 4.2 调用智能客服助手API …

【知识图谱构建系列7】:结果评价(1)

文章目录 前言前情提要三元组提取结果评价脚本代码分析几分钟后前言 翻了一下记录,发现咱的知识图谱构建已经接近10天没有搞了。时间也是过得真快啊。但这毕竟是咱未来产生论文的主要阵地,所以得赶紧把节奏给拾起来哈~ 前情提要 我们已经可以在mistral模型的基础上,跑通提…

BT下载工具 qBittorrent v5.1.1.10,便携无广告,BT下载速度翻倍

[软件名称]: BT下载工具 qBittorrent v5.1.1.10 [软件大小]: 15.9 MB [下载通道]: 夸克盘 | 迅雷盘 软件介绍 🔥《qBittorrent增强版》v5.1.1.10便携版|BT下载神器,速度与隐私兼得🌐 ✨ 核心优势: ✅ 无视版权限制…

裂变与重构:2025年大模型生态全景透视及未来趋势研判

1. 2025上半年:大模型生态的裂变时刻 1.1 技术范式革命:从生成到推理的跨越 2025年1月DeepSeek的横空出世,标志着大模型正式进入"推理时代"。这款国产模型在发布首周即突破1亿用户量级,其核心突破在于将传统生成能力升…

【docker】如何正确拉取langgraph-api

加这些配置都没用 # 设置代理环境变量 export HTTP_PROXY=http://127.0.0.1:7890 export HTTPS_PROXY=http://127.0.0.1:7890 # 设置更长的超时时间 export DOCKER_CLIENT_TIMEOUT=