Tho*_*mas 5 cgaffinetransform swift ios13 xcode11
我正在尝试将我的项目更新到 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
}
Run Code Online (Sandbox Code Playgroud)
小智 2
我知道这可能会迟到,但对于寻找此答案的其他用户可能会有所帮助。要将标签栏平移到右/左/上/下,您需要更改其原点。所以,代替这一行:
self.tabBarController?.tabBar.transform = CGAffineTransform(translationX: 0, y: 100)
Run Code Online (Sandbox Code Playgroud)
你应该将其更改为这一行:
self.tabBarController?.tabBar.frame.origin.y += 100
Run Code Online (Sandbox Code Playgroud)
当然,您可以更改值 100 以满足您的需要,此行会将标签栏移动到底部,如果您希望它移动到顶部,您需要这样做:
self.tabBarController?.tabBar.frame.origin.y -= 100
Run Code Online (Sandbox Code Playgroud)
显然,如果您想更改 x 位置,则可以将 .y 更改为 .x。
| 归档时间: |
|
| 查看次数: |
706 次 |
| 最近记录: |