自动调整ScrollViewInsets 不起作用

2024-01-11

我创建了一个非常简单的演示应用程序来测试其功能automaticallyAdjustsScrollViewInsets,但 tableView 的最后一个单元格被我的选项卡栏覆盖。

我的 AppDelegate 代码:

UITabBarController *tabControl = [[UITabBarController alloc] init];
tabControl.tabBar.translucent = YES;
testViewController *test = [[testViewController alloc] init];
[tabControl setViewControllers:@[test]];

[self.window setRootViewController:tabControl];

我的 testViewController ( UITableViewController 的子类)代码:

- (void)viewDidLoad
{
[super viewDidLoad];
self.automaticallyAdjustsScrollViewInsets = YES;
self.tableView = [[UITableView alloc] initWithFrame:self.view.bounds];
self.tableView.dataSource = self;
self.tableView.scrollIndicatorInsets = self.tableView.contentInset;
//[self.view addSubview:self.tableView];

// Do any additional setup after loading the view.
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 20;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@""];
cell.textLabel.text = @"test";
return cell;
}

这是 iOS 7 中的一个错误吗?如果不是,我做错了什么?


我觉得automaticallyAdjustsScrollViewInsets仅当您的控制器有效时才有效view is a UIScrollView(表视图就是其中之一)。

你的问题似乎是你的控制器view是一个常规的UIView和你的UITableView只是一个子视图,因此您必须:

  • 使表视图成为“根”视图。

  • 手动调整插图:

    UIEdgeInsets insets = UIEdgeInsetsMake(controller.topLayoutGuide.length,
                                           0.0,
                                           controller.bottomLayoutGuide.length,
                                           0.0);
    scrollView.contentInset = insets;
    

Edit:

看起来 SDK 能够调整一些滚动视图,尽管不是控制器的根视图。

到目前为止它适用于UIScrollView's and UIWebView's scrollView当它们是索引处的子视图时0.

无论如何,这可能会在未来的 iOS 版本中发生变化,因此您自己调整插图会更安全。

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

自动调整ScrollViewInsets 不起作用 的相关文章

  • 为什么我们在 @synchronized 块中传递 self ?

    我猜 synchronized 块不依赖于对象 而是依赖于线程 对吗 既然如此 我们为什么要传递 self 呢 synchronized是语言提供的用于创建同步作用域的构造 因为使用简单的全局共享互斥锁效率非常低 因此序列化每个单独的互斥锁
  • 自动调整大小完成后如何获取帧大小

    我想知道 如何以及何时 viewDidLoad viewWillAppear viewDidAppear 可以获得自动调整大小以适合其父视图的 UIViews 框架大小 从你的问题中不清楚你为什么想要它 但我想这是为了布局你的子视图 幸运的
  • 如何等待 webViewDidFinishLoad 完成

    我有一个初始化 webView 的布尔条件 并在 webViewDidFinishLoad 中加载另一个委托 以便在完成完成后触发 但是 由于布尔值在条件 webViewDidFinishLoad 之前返回 因此页面永远不会完全加载 如何确
  • 使用 Push Transition 效果更改 RootViewcontroller

    在我的iOS应用程序中 我需要更改应用程序之间窗口的rootviewController 因此 当我动态更改我的rootviewcontroller时 它会在更改之前轻拂视图 但我想要的是在更改rootviewcontroller时提供平滑
  • iOS 解决方案仅当图像尚未使用 SDWebImage 缓存在内存中时才加载带有动画的图像

    我已经为这个问题苦苦挣扎了几天 以前我使用 AFNetworking 类别来加载和缓存图像 但它的回调中没有提供缓存类型 所以我过去常常在每个控制器中跟踪哪些图像已经加载 我浏览了 SDWebImage 它提供了我正在寻找的东西 SDIma
  • iOS App布局错误,调用状态栏

    在主动通话和应用程序布局期间面临状态栏问题 我正在使用自动布局 当我运行应用程序 然后开始通话时 一切正常 UI 会随着状态栏的更改而正确缩放 但是 如果我首先开始通话 然后运行应用程序 应用程序屏幕会移动到底部 20pt 就像它们对新状态
  • 如何在我的 iOS 项目中添加和执行 .sql 文件?

    我找到了很多关于在 iOS 中使用 SQLite 数据库的教程 但没有找到任何直接引用 sql 文件的内容 谁能告诉我如何将现有的 SQL 数据库链接到我的应用程序 编辑 这是一个 MySQL 转储 我们有一个基于浏览器的抽认卡程序 现在我
  • 对 UIImage 进行方形裁剪,导致图像拉伸

    当尝试执行 UIImage 的中心裁剪时 我得到以下结果 左侧是原始图像640 1136 右边是适合正方形的裁剪图像UIImageView at 320 320 turns to 我对比率元素进行了相当多的修改 以便它可以正确检测要修剪的量
  • 在 iOS 中录制音频并永久保存

    我制作了 2 个 iPhone 应用程序 可以录制音频并将其保存到文件中并再次播放 其中之一使用 AVAudiorecorder 和 AVAudioplayer 第二个是苹果的在这里说话 http developer apple com l
  • 切换到工作区并在 Xcode 中添加 CocoaPods 后提交 git 吗?

    我刚刚在 Xcode 5 中将 CocoaPods 添加到我当前的项目中 当然 CocoaPods 创建了一个工作区 并且我已在 Xcode 中启动了该工作区 我在工作区中看到了我的项目和 Pods 项目 我的项目从第一天起就处于源代码控制
  • 如何使用 ZBar 读取器的 scanCrop 属性?

    我正在使用 iPhone 的 ZBar SDK 来扫描条形码 我希望阅读器仅扫描特定的矩形而不是整个视图 为此需要将阅读器的 scanCrop 属性设置为所需的矩形 我很难理解必须设置的矩形参数 有人可以告诉我如果在纵向视图上它的坐标是 我
  • 从 Core Data、iOS 获取最后插入的项目

    有没有办法获取核心数据数据库中最后插入的项目 这将返回最后插入的对象 setFetchLimit 1 和 setFetchOffset 所有条目数 1
  • UIImage:如何获取网站选项卡图标

    我正在开发一个 RSS 阅读器 我需要获取每个提要的图标 例如 如果我的提要是 google com 我想获取 G 图标并将其放入 UIImage 或其他内容中 关于如何实现这一目标有什么想法吗 最简单的方法是使用 Google NSStr
  • iPhone SDK - 在后台线程中运行重复进程

    我有一个iPhone我想在其中每隔一段时间在后台执行一个方法的应用程序1第二 所以在我的主线程中 我有以下代码UIViewController viewDidLoad NSTimer timerWithTimeInterval 1 0 ta
  • 如何在 EKRecurrenceRule 中设置一周中某一天的数组?

    我想在用户选择的特定日期每周添加事件 可以是一个或多个 也可以是一整天 我将用户选择的日期值存储在模型类变量中 但是 当我添加事件并选择日期时 假设今天是星期一 我选择星期二和星期三并保存 然后我查看周一和周三添加的 iPhone 日历 我
  • 具有多种自定义单元格类型的 RxSwift 表视图

    我想知道是否有任何代码示例RxSwift当我可以在一个表视图中使用多个自定义单元格时 例如 我有两个部分 第一部分有 10 个单元格 类型为CellWithImage标识符和第二部分有 10 个带有类型的单元格CellWithVideo标识
  • Swift 中 UIImages 的淡入淡出动画

    我有一组图像 我希望它们在登录屏幕的背景中淡出 我无法在 swift 中找到任何可以做到这一点的东西 有什么办法我可以做到吗 这是我当前的代码 override func viewDidLoad super viewDidLoad star
  • 如何使用 afnetworking 在后台上传任务

    我正在尝试使用 AFNetworking 上传大文件 并在应用程序处于后台时继续上传 我可以很好地上传文件 但是当我尝试使用后台配置时 应用程序崩溃并显示以下堆栈跟踪 异常 EXC BAD ACCESS 代码 1 地址 0x8000001f
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • 当设置 setVisibleXRangeMaximum 时,iOS-Charts X 轴值无限重复

    我正在尝试绘制一个图表 其中 x 轴是TimeIntervalY 轴是power consumption 由于每天都会有数据 因此将有太多数据无法显示 因此 我想一次显示 5 个值 我通过设置实现了这一点self chart setVisi

随机推荐

  • 如何使用curl进行POST而不收到HTTP错误422“无法处理的实体”?

    我正在尝试向登录端点发送 POST 请求 我不断收到 HTTP 错误422 Unprocessable Entity 我该如何克服这个错误 以下是我尝试过的一些命令示例 curl v X POST F user email email pr
  • 没有足够的权限访问 S3 中的数据

    我正在关注以下教程入门 控制台 Amazon Personalize https docs aws amazon com personalize latest dg getting started console htmlAmazon Sa
  • 在 angularJS select 指令中设置所选项目

    我在 Angular 的 select 指令中设置所选项目时遇到问题 我不知道这是一个bug还是Angular的设计者有意识的设计 但它确实使 select 指令的用处大大降低 描述 我的应用程序与 REST API 通信以从数据库接收实体
  • 我可以只向某些人分发我的 iPhone 应用程序吗?

    我想开发一个只有我的客户才能使用的特定应用程序 如何限制该应用程序只能由我认可的人下载 Thanks 通过应用程序商店正常分发应用程序 并需要解锁密钥才能运行它 仅将解锁密钥分发给 批准的 用户
  • 升级到 Spring 3.2 后出现 HttpMediaTypeNotAcceptableException

    将 Spring MVC 应用程序升级到 Spring 3 2 后 在访问某些 URL 时出现以下异常 org springframework web HttpMediaTypeNotAcceptableException Could no
  • 暂停 android 下载管理器

    在我的应用程序中 我从服务器下载电影 其中一些非常大 4GB 或更大 我尝试将自己的下载管理器实现为一项服务 但效果并不好 在某些设备上 应用程序会在没有任何通知的情况下自行崩溃 总体而言下载速度似乎太慢 所以 我想使用 Android 的
  • 反序列化对象时出错

    我有一个 JSON 字符串 target FDOL00001 datapoints y 72 564 x 1523858700 target FDOL00001 datapoints y 86 366 x 1523858700 target
  • 在 PHP 中将十六进制颜色转换为 RGB 值

    转换十六进制颜色值的好方法是什么 ffffff转换为单个 RGB 值255 255 255使用 PHP 如果你想将十六进制转换为RGB 你可以使用sscanf https www php net manual en function ssc
  • PHP 服务器端打印

    我过去几个小时一直在谷歌搜索 似乎找不到答案 我确实接近了这个问题 https stackoverflow com questions 1648399 starting serverside print job via php 我的 Win
  • 带单行的 Mercurial 日志

    常规的hg log命令给出每个变更集至少有 4 行的输出 例如 changeset 238 03a214f2a1cf user My Name lt email protected cdn cgi l email protection gt
  • 在联系页面添加地址簿

    我想在我的地址簿中添加contact页面 我想以编程方式执行此操作i e不使用nib files 谁能给我推荐一个不错的教程或示例代码 我已经使用了 iPatel 给出的答案的代码 当我运行时它抛出异常并且应用程序正在终止 感谢致敬 这是编
  • 从 MySQL 中提取所有 JSON 键

    我有一个 JSON 列属性 例如 a 2 b 5 c 3 a 5 d 1 c 7 e 1 f 7 如何从 MySQL 获取所有不同的 顶级 键名 像这样 a b c d e f 谢谢你 测试表 id json col 2 a 2 b 5 3
  • 从毫秒计算周数、天数和小时数

    周围有很多类似的问题 但没有一个解决这个计算 使用 javascript i 很容易找到 ex 的黑白 2 个日期的毫秒数 var mil Math floor new Date 1 1 2012 new Date 1 7 2012 mil
  • OnItemClick 侦听器和单击的视图项的可见性

    我有一个 ListView 其中每个项目都包含一个Textview and ImageView其中imageView is invisible通过单击每个列表视图项目 它将visible我的代码是 Override public void
  • Flask sqlAlchemy 与 Flask_Marshmallow 的验证问题

    使用flask marshmallow进行输入验证 并使用scheme load 我无法捕获模型中 validates装饰器生成的错误 我捕获了资源中的结果和错误 但错误会直接发送给用户 模型 py python from sqlalche
  • 通过上下文菜单运行 cmd 时 PATH 变量不同

    我刚刚花了最后一个小时试图找出为什么我的 PATH 变量没有更新我的 cmd exe 现在我发现它确实更新了 但仅限于某些条件 我通过更新它Win Break gt Change Settings gt Advanced gt Enviro
  • Flink 处理事件太慢

    我使用 Kinesis 数据流作为源 使用 elasticsearch 作为接收器 在 AWS Kinesis Data 分析应用程序中运行 Flink 作业 事件示例 area sessions userId 4450 date 2021
  • 使用 Mockito 调用回调

    我有一些代码 service doAction request Callback
  • Python 中运算符重载的综合指南 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有关于操作员重载的综合指南 最好是在网上 但一本书也可以 的描述操作员模块 http docs p
  • 自动调整ScrollViewInsets 不起作用

    我创建了一个非常简单的演示应用程序来测试其功能automaticallyAdjustsScrollViewInsets 但 tableView 的最后一个单元格被我的选项卡栏覆盖 我的 AppDelegate 代码 UITabBarCont