UITableView 上的 UISearchBar 奇怪的偏移问题

2023-11-22

我有一个UITableView其中有一个UISearchBar子视图。这一切都在一个人的观点上UIViewController以及一些其他子视图(标签、文本字段等)。

表格的搜索栏和内容偏移量的行为非常奇怪,但它似乎取决于这些视图添加到 xib 中主视图的顺序。我创建了一个示例项目,仅使用我的表格/搜索和标签来进行测试,结果是相同的。添加表时after标签,一切正常:

Setup:

table added after label

正确且预期的结果:

Proper expected result

However,如果我只是更改我的 2 个子视图位于主视图上的顺序(又名添加表before标签)然后奇怪的事情开始发生。

显然设置不好:

Table added before label

搜索栏的奇怪偏移:

wtf is this?!?!

我没有更改任何其他内容,那么为什么 Xcode 似乎关心这些子视图添加到主视图的顺序?如果我在“坏”表格设置上向上滚动,搜索栏会立即在其顶部边缘消失,但表格的内容将继续向上滚动,直到到达 xib 中设置的框架顶部。向下滚动,搜索栏不会重新出现,直到奇怪的降低位置。这是 Xcode 5.1.1 中的内容,而不是新的测试版。无论是否打开自动布局,结果都是相同的。

知道为什么会发生这种情况吗?这是一个错误,还是我错过了什么? (我没有发布任何代码,因为我所做的只是设置部分、行数和设置单元格上的文本。不要弄乱内容插入、偏移量等任何内容。我从应用程序委托加载视图为导航控制器的根)


发生这种情况是因为UIViewController的属性称为automaticallyAdjustsScrollViewInsets

在 iOS 7 中,UIViewControllers 有一个名为 自动调整ScrollViewInsets,默认为YES。如果你 有一个滚动视图,它是视图的根视图 控制器(例如 UITableViewController)或子视图 索引 0,那么该属性将同时调整 contentInset 和 滚动指示器插入。这将允许您的滚动视图开始其 导航栏下方的内容和滚动指示器(如果您的视图 控制器位于导航控制器中)。

From 大书呆子牧场

如果您使用故事板,则可以通过选择视图控制器并在属性检查器中取消选择来更改它Adjust scroll view insets.

这是它的描述苹果文档:

默认值为 YES,允许视图控制器调整其 滚动视图插入以响应所消耗的屏幕区域 状态栏、导航栏、工具栏或选项卡栏。如果您设置为“否” 想要自己管理滚动视图插入调整,例如何时 视图层次结构中有多个滚动视图。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UITableView 上的 UISearchBar 奇怪的偏移问题 的相关文章

随机推荐

  • 删除使用情节提要创建的导航栏中的半透明栏

    我从故事板创建了一个导航控制器 现在我尝试删除它的半透明选项 我把它放在我的 appdelegate m 上 UINavigationBar appearance setBarTintColor UIColor colorWithRed 5
  • PHP 检测 shell_exec() 命令是否失败

    我在 PHP 的 shell exec 中运行 ffmpeg 命令来转换列表中的多个视频 是否有办法检测视频转换时是否发生错误 或至少验证它完全完成转换 如果发生错误 我不想停止转换其他视频 只是能够记录错误 使用另一个系统调用函数捕获退出
  • 两个正整数相乘的结果转换为负值

    我有这样的代码 int a 629339 int b 4096 long res a b 结果是 1717194752但如果我添加一个手动转换到长long res long a b or long res long a b 结果是正确的25
  • 如何使用 javascript / jQuery 递增/递减十六进制颜色值

    是否可以在 jQuery JavaScript 中逐步增加或减少十六进制颜色值 我想做的是这样的 改编自 for 循环 for var i 0 i lt 100 i console log i 我想做类似的事情 for var color
  • 基于多个 1 级列的子集多索引 DataFrame

    我有一个多索引 DataFrame 但我想为每个 0 级变量 即列 一 和 二 在每个级别 1 保留两列 我可以分别对它们进行子集化 但我想将它们放在一起 这样我就可以并排保留值 这是数据框 index pd MultiIndex from
  • 如何在SQL中从字符串中提取某些第n个字符

    我有一个返回值为 xxx xxx xxx xxxxx xx x 的字段 我如何从该代码中提取第 10 个字符 select substring xxx xxx xxx xxxxx xx x 10 1 The documentation fo
  • 为什么我在运行 MS Access 查询时收到“输入参数值”?

    SELECT ID Name SELECT CityName FROM City WHERE Employee CityID City CityID AS City Name FROM Employee WHERE City Name Ne
  • firebase.auth 不是函数

    我将 Webpack 与 firebase 和 firebase admin 一起使用 为了安装 firebase 我运行了 npm install save firebase 我正在使用以下命令导入 firebase import as
  • ASP.NET MVC 3.0.0.1 版安全补丁破坏了构建 [重复]

    这个问题在这里已经有答案了 安装 ASP NET MVC 3 安全更新后KB2990942看来 MVC 版本增加了3 0 0 0 to 3 0 0 1 这会导致 Visual Studio 不再找到引用
  • pandas 函数与 isin

    我有一个像这样的数据框 aa bb cc a x y a 1 b d z b 2 c e f s 3 np nan d 4 我正在尝试创建一个像这样的新专栏 aa bb cc dd a x y a 1 True b d z b 2 True
  • 追踪 React 组件重新渲染的原因

    是否有系统的方法来调试导致组件在 React 中重新渲染的原因 我放置了一个简单的 console log 来查看它渲染了多少次 但我很难弄清楚是什么导致组件渲染多次 即在我的情况下 4 次 是否存在显示时间线和 或所有组件树渲染和顺序的工
  • 如何将*可选*引用返回到 RefCell 内容中

    我有一种类型 将其数据存储在后面的容器中Rc
  • 在 Mac App Bundle 中嵌入框架

    我正在尝试将 SDL 和 SDL ttf 框架添加到我的应用程序中 并且我已经按照通常的方式完成了操作 将它们添加到 将二进制文件与库链接 部分中 并添加了一个复制文件阶段 将它们复制到 Frameworks 目录 这确实创建了一个带有嵌入
  • Angular 2 隐藏字段的表单验证

    我有一个银行贷款申请 其中包含很多输入字段 其中一些是隐藏的 隐藏字段根据一组条件动态显示 例如 如果您选择选项 1 则会显示隐藏字段 并隐藏一些其他字段 如果您选择选项 2 某些字段将显示 其他字段将隐藏 在表单的末尾 我有一个 这意味着
  • 如何让 SASS 嵌套的嵌套媒体查询与媒体查询或运算符的使用一起使用

    我正在尝试让嵌套的 IE10 媒体查询在 SASS 中工作 但我不理解输出 我认为使用媒体查询会让事情变得很奇怪or操作员 因此 此查询不会适用于所有情况 因为唯一输出的是查询的一侧or 请注意 这些最初是 mixin 我删除了 mixin
  • JPA Criteria Builder OneToMany 限制

    我有一个与子表具有 OneToMany 关联的父级 我正在尝试使用 CriteriaBuilder 编写一个查询来限制从 Child 表返回的结果 我正在添加一个谓词 例如 cb equal parent get children get
  • 线程队列工作示例[重复]

    这个问题在这里已经有答案了 在下面的代码中如何将最大打开线程数限制为 20 我知道过去曾提出过一些类似的问题 但我特别想知道如何使用队列最好地完成此操作 并在可能的情况下使用工作示例 b is a list with 10000 items
  • 如何处理从Delphi 6和WinXP到Delphi 2007和Vista/Win7的窗体大小问题

    我有一个用 Delphi 6 编写并在 Windows XP 上编译的应用程序 通常我在控件和表单边缘之间留出 8px 的空闲空间 当此应用程序在 Vista 或 Win 7 上运行时 这种差距会更小或根本不存在 我认为这可能是因为这些版本
  • 数组的 getter 和 setter

    我有一些关于数组的 getter 和 setter 的问题 假设我们有一个这样的类 它在其构造函数中创建一个数组的私有副本 import java util Arrays public class Foo private int array
  • UITableView 上的 UISearchBar 奇怪的偏移问题

    我有一个UITableView其中有一个UISearchBar子视图 这一切都在一个人的观点上UIViewController以及一些其他子视图 标签 文本字段等 表格的搜索栏和内容偏移量的行为非常奇怪 但它似乎取决于这些视图添加到 xib