当前位置: 首页 > 知识库问答 >
问题:

UITableView内容偏移-64pt问题

皇甫聪
2023-03-14

我正在调试表视图,在我的-viewDidLoad方法中,我有:

<UITableView: 0x7b394600; frame = (0 0; 1024 768); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x7983d2f0>; layer = <CALayer: 0x79836ca0>; contentOffset: {0, 0}>

但是当我在-viewdide方法中检查帧和内容偏移时:

<UITableView: 0x7ab79c00; frame = (0 0; 1024 768); clipsToBounds = YES; gestureRecognizers = <NSArray: 0x7998f700>; layer = <CALayer: 0x7998f560>; contentOffset: {0, -64}>

我不知道表的偏移量是如何得到-64的。

视图加载了一系列方法,然后视图出现了,但内容偏移量对我来说发生了神奇的变化。

有什么理由?

这是我的viewDidLoad:

- (void)viewDidLoad
{
    [super viewDidLoad];

    _theTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height)];

    _theTableView.dataSource = self;
    _theTableView.delegate = self;

    [self.view addSubview:_theTableView];

    _theTableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];

    self.title = @"File Manager";
}

我有导航栏,但奇怪的是,我看到我的表,因为它应该没有移动。所以看起来很完美,我看到顶部单元格,当我滚动到底部时,我看到最后一个单元格。甚至指示器也告诉我内容偏移量为0。如果我强制设置内容偏移量{0,0},那么第一个单元格似乎位于导航栏下,垂直指示器不是从顶部开始的,而是带有一些大约64磅的填充,但这很奇怪。

我想这是因为状态栏和导航栏。但是如果硬编码创建我的偏移量和帧,它对我没有帮助。好像系统是自动形成我的=)


共有1个答案

仉宸
2023-03-14

这是默认行为,请查看自动调整ScrollViewInset

默认值为是,这允许视图控制器根据状态栏、导航栏和工具栏或选项卡栏占用的屏幕区域调整其滚动视图插图。如果您想自己管理滚动视图插入调整,例如当视图层次结构中有多个滚动视图时,请设置为NO。

…以及iOS 7 UI过渡指南中的其他相关内容。

 类似资料:
  • 我已经在iOS 7中将一个普通的jane UITableView拖到UIViewController上。 现在,在第一个单元格开始之前,存在空间的垂直偏移。我怎样才能摆脱它?我希望第一行更靠近UITableView实际开始位置的上边缘。我没有要求大的补偿,是吗? 有什么想法吗?

  • 问题内容: 我的日期格式是,它产生日期: 但我需要这样的日期: 什么日期格式将产生带有冒号的偏移量? 问题答案: 您可以使用这种格式 看看该文档以获取更多信息。 PS:- 正如我的朋友 @Thomas所 提到的,这仅适用于 Java 7 及更高版本。

  • 我在Jackrabbit节点内容从一个路径移动到另一个路径时遇到了问题。 尝试将节点下的文档列表(从jcr中的临时节点)移动到新路径(新节点,不包含任何文档)。 节点是混合类型的。 以下是创建文档节点的部分代码片段: 节点类型说明: 希望使用jcr api本身移动内容,而不是让所有子节点迭代并移动到目标文件夹。 使用Jackrabbit core 2.6.0和JCR 2.0。

  • 为什么实际主题中的偏移值与同一主题中的偏移值不同?PFB偏移位置以及使用的命令。 我错过了什么?

  • 我有一个问题,假设有一个TOPIC T1,有两个消费者C1和C2属于两个不同的组,电流偏移量是0.我们知道Kafka维护消费者的偏移量。因此,如果 C1 使用消息并且 Offset 变为 1,那么如果 C2 使用消息,它将从 1 偏移量开始,还是从 0 偏移量开始使用消息,会发生什么情况?表示两个不同的消费群体将如何维持抵消? 谢啦

  • 如果你开始在GitBook上写书了,但现在你想把它的源代码托管到GitHub上,不用担心,这很简单: 使用GitHub导入工具 使用GitHub的导入工具:import.github.com/new。 输入你的GitBook的git url,例如:https://git.gitbook.com/MyName/MyBook.git(这个url可以在你书本的设置中找到)。 输入你的GitHub仓库。