Igo*_*man 59 uitabbar ios swift
我UITabBarController在主屏幕上有一个iOS应用程序,导航到隐藏UITabBarControllerwith设置的详细信息屏幕hidesBottomBarWhenPushed = true.
当回到主屏幕时,UITabBarController会发出奇怪的"跳跃",如此GIF所示:
这仅在iOS 12.1上发生,而不是在12.0或11.x上发生.
看起来像iOS 12.1的错误,因为我注意到其他应用程序如FB Messenger有这种行为,但我想知道,是否有某种解决方法呢?
小智 60
在您的UITabBarController中,设置isTranslucent = false
小智 5
我想这是Apple的错误但是你可以尝试这个作为一个热门修复:只需为你的tabBar创建一个类,其代码如下:
import UIKit
class FixedTabBar: UITabBar {
var itemFrames = [CGRect]()
var tabBarItems = [UIView]()
override func layoutSubviews() {
super.layoutSubviews()
if itemFrames.isEmpty, let UITabBarButtonClass = NSClassFromString("UITabBarButton") as? NSObject.Type {
tabBarItems = subviews.filter({$0.isKind(of: UITabBarButtonClass)})
tabBarItems.forEach({itemFrames.append($0.frame)})
}
if !itemFrames.isEmpty, !tabBarItems.isEmpty, itemFrames.count == items?.count {
tabBarItems.enumerated().forEach({$0.element.frame = itemFrames[$0.offset]})
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8022 次 |
| 最近记录: |