2017-07-30 48 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