【问题标题】:CGAffineTransform translation doesn't work on tabbar after update to Xcode 11更新到 Xcode 11 后,CGAffineTransform 翻译在标签栏上不起作用
【发布时间】:2019-10-02 10:18:55
【问题描述】:

我正在尝试将我的项目更新到 iOS 13。 我曾经使用 CGAffineTransform 翻译来隐藏选项卡栏,它就像一个魅力,直到我更新到 Xcode 11 并在 iOS 13 上执行我的代码。

我尝试用一​​个简单的 UITabBarController 和一个简单的 UIViewController 重新创建一个小项目,并带有一个按钮来显示/隐藏我的标签栏。 (见下文)。

即使是身份转换也无法按预期进行。

其他 CGAffineTransform 像预期的那样旋转炒锅。

@objc fileprivate func showOrHideTabbar() {

        if !hidden {
            print("hiding")
            UIView.animate(withDuration: 0.7, delay: 0, options: .curveEaseOut, animations: {
                self.tabBarController?.tabBar.transform = CGAffineTransform(translationX: 0, y: 100)
            })
        } else {
            print("showing")
            UIView.animate(withDuration: 0.7, delay: 0, options: .curveEaseOut, animations: {
                self.tabBarController?.tabBar.transform = .identity
            })
        }
        hidden = !hidden
    }

【问题讨论】:

  • 就我个人而言,我从未发现使用转换来可靠地隐藏 tabBar。我找到了适合我的扩展。 stackoverflow.com/a/44707169/5508175。它确实适用于 iOS 13
  • 谢谢,阅读这篇文章帮助我找到了另一种用动画隐藏它的方法。我现在修改框架以添加偏移量: let frame = self.tabBarController!.tabBar.frame self.tabBarController!.tabBar.frame = frame.offsetBy(dx: 0, dy: 100) 它就像那样工作,但我仍然试图理解为什么 CGAffineTransform 不再起作用。
  • 我在更新到 Xcode 11 后遇到了同样的问题,据我调查,这个问题看起来像是标签栏框架的高度在它离开屏幕时被修改了,但我从未听过苹果说要修改 iOS 12关于这个话题的行为:/
  • 对我来说也是同样的问题,相同的代码在 iOS 12 中运行时工作,但在 iOS 13 中运行时不工作。可能是因为 ios 13 窗口层次结构而发生的。

标签: swift ios13 cgaffinetransform xcode11


【解决方案1】:

我知道这可能会迟到,但它可能对寻找此答案的其他用户有所帮助。 要将标签栏翻译到右/左/上/下,您需要更改其原点。所以,而不是这一行:

self.tabBarController?.tabBar.transform = CGAffineTransform(translationX: 0, y: 100)

你应该把它改成这一行:

self.tabBarController?.tabBar.frame.origin.y += 100

当然,您可以根据需要更改值 100,此行会将您的标签栏移动到底部,如果您希望它移动到顶部,则需要这样做:

self.tabBarController?.tabBar.frame.origin.y -= 100

显然,如果你想改变 x 位置,你应该把 .y 改为 .x。

【讨论】:

    猜你喜欢
    • 2020-02-22
    • 1970-01-01
    • 2021-10-18
    • 1970-01-01
    • 2018-08-16
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    相关资源
    最近更新 更多