2017-07-30 92 views
0

在iOS 11中,UITabbarItem符合UISpringLoadedInteractionSupporting,它定义了isSpringLoaded var。在WWDC 2017会话203中,他们指出您需要执行的所有操作都是为了使Spring弹簧加载在控件上设置为isSpringLoaded为true,并将项目拖动到该控件上将触发该操作。加载UITabbarItem以在iOS中导航11

这适用于UIButton。但我无法得到任何与UITabbar发生的事情。我的故事板中有一个完全封装的TabBarController。我设置

tabBarItem.isSpringLoaded = true 

...为viewController我想弹簧加载。将项目拖到该项目上什么都不做。

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

+1

我觉得弹簧加载仍然是一个有点马车现在。 我与集合有同样的问题查看 – RoaflinSabos

+0

请问您可以在这里解释在故事板中通过弹簧加载UIBarButtonItem的目的是什么? –

回答

0

我一直在努力,今天终于找到了解决方案。

由于某种原因,从故事板中启用isSpringLoaded属性不起作用,所以我所做的是我从代码中启用了isSpringLoaded属性。

一个快速的解决方案,使所有UITabBarItems有springLoading是

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

这部作品的Xcode 9.0测试版4(9M189t)

+0

我其实早些时候尝试过这个确切的东西,因为我观察到同样的事情(在代码中工作,而不是故事板)的UIButton。但是这对我来说并不适用,甚至完全无法使用你的代码,它仍然无法工作。也许在这种情况下,我拖着一个TableViewCell?没有想过,但也许这是不可能的(电视 - >电视当然是) – jeffro37