Spring 加载 UITabbarItem 以在 iOS 11 中导航

问题描述 投票:0回答:2

在 iOS 11 中,UITabbarItem 符合定义

UISpringLoadedInteractionSupporting
变量的
isSpringLoaded
。 在 WWDC 2017 会议 203 中,他们指出要启用弹簧加载,您需要做的就是在控件上将 isSpringLoaded 设置为 true,并将项目拖动到其中将触发该操作。

这对于 UIButton 来说效果很好。 但我无法让 UITabbar 发生任何事情。 我的故事板中有一个完全封装的 TabBarController。 我设置了

tabBarItem.isSpringLoaded = true

...对于 viewController 我想要弹簧加载。 将项目拖到该项目上不会执行任何操作。

我在文档中找不到任何内容来指示还应该做什么。

ios drag-and-drop uitabbarcontroller uitabbaritem ios11
2个回答
0
投票

我今天一直在研究这个问题,终于找到了解决方案。

由于某种原因,从情节提要中启用

isSpringLoaded
属性不起作用,所以我所做的是从代码中启用
isSpringLoaded
属性。

使所有 UITabBarItems 都具有 springLoading 的快速解决方案是

 override func viewDidLoad() {
    super.viewDidLoad()
    tabBarController?.tabBar.items?.forEach({ (item) in
        item.isSpringLoaded = true
    })
}

这适用于 Xcode 9.0 beta 4 (9M189t)


0
投票

将 tabBar 的 isSpringLoaded 设置为 true 在 Xcode 15.4 上对我有用

tabBar.isSpringLoaded = true
© www.soinside.com 2019 - 2024. All rights reserved.