gpt4 book ai didi

IOS7:Pop ViewController 强制 UIImageView 掉落

转载 作者:行者123 更新时间:2023-12-01 17:54:36 25 4
gpt4 key购买 nike

将我的项目升级到 iOS7 后

On Initial Load

当我执行 BACK 按钮并且 UINavigationController 返回上一页时,屏幕顶部的 ImageView 会向下移动。

images shift down

我使用 IB 来做我的布局。这些是我的模拟指标:

Simulated Metrics

我关闭了自动布局。关于问题可能是什么的任何想法?我不确定是否有人想查看特定代码,并且我不想用太多代码来混淆问题。

更新:根据评论问题,我想进行以下更新:

  • 在应用程序 .h 或 .m 文件中,我没有对 imageview 的大小或位置进行任何更改。
  • 在这两个 viewDidLoadviewDidAppear我调用了一个名为 recalculateAll 的用户定义方法但它们根本没有引用任何 ImageView 大小。只是为了尝试一下,我注释掉了整个部分并运行了代码,它仍然跳下。
  • 在我的 init我确实使用它们的 x 和 y 以编程方式设置了一些 ImageView (你会在看起来像气泡的地方看到 #132)。

  • 这是我用于从 View Controller 移动到 tableviewcontroller 的典型导航:
     GetTimeOffByType *showTimeOffReport = [[GetTimeOffByType alloc] initWithNibName:@"GetTimeOffByType" bundle:nil];
    showTimeOffReport.timeOffType = @"Vacation";
    [self.navigationController pushViewController:showTimeOffReport animated:YES];

    这些都是 .xib文件,根本没有 Storyboard。它基本上是一个具有嵌入式 UINavigationController 的 View Controller 有 6 个按钮。每次按下按钮时,它都会按下 UITableViewController传递不同的参数并显示不同的数据。我用来返回原始 UIViewController 的过渡简直就是iOS生成的 BACK按钮(所以没有代码显示)

    更新#2 希望这将帮助某人解决这种奇怪的行为。因此,如果我要单击 showTimeOffReport 上的表格 View 单元格获取单元格详细信息,然后使用 BACK 导航一直返回它不会跳下。

    更新#3 好的,这是我刚刚发现的:跳下与否的问题与 UINavigationBar 的半透明性有关。如果您有一个 Translucent = YES,它将从窗口顶部开始。如果您有一个 translucent = NO,它将从 UINavigationBar 的底部开始。

    最佳答案

    您可以尝试在 UIViewController edgesForExtendedLayout 上设置新属性至UIRectEdgeNone .

    这是一个很好的资源,它解释了有关 iOS 7 中 View 布局如何变化的更多信息。

    See Apple Documentation

    如果您打算向后兼容,则可能需要在设备未运行 iOS 7 时进行一些运行时检查并调整定位。

    关于IOS7:Pop ViewController 强制 UIImageView 掉落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20258933/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com