2017-02-27 78 views
2

我正在使用Swift 3,Xcode 8.2。Swift 3 - 如何在標籤欄上創建突出的按鈕(例如攝像頭按鈕)

我想是這樣的(忽略奧斯卡爲主題的填充),其中拍照鍵是一個比較突出的/環繞在標籤欄上:

enter image description here

我認爲整個事情是一個圖像,但該圖像是否以某種方式在標籤欄上自然浮現?

任何資源,或者如果你能指點我正確的方向將是偉大的。謝謝!

編輯

我可能已經找到了另一篇文章,解釋了什麼是我想要做的:How do we create a bigger center UITabBar Item

回答

9

一種方法是簡單地將您的UIButton添加到帶有虛擬中央視圖控制器的UITabBarController之上。

這裏我用故事板和子類的UITabBarController添加一個按鈕:

enter image description here

這是我的故事板,注意中心視圖控制器如何僅僅是有空間:

enter image description here

只有這些代碼和故事板,這是結果:

enter image description here

項目位置:https://github.com/aunnnn/TestButtonOnTabBar/

+0

這是完美的我。謝謝! – noblerare

+0

你介意幫我理解代碼中的數字嗎?具體來說,'viewDidLoad'和'viewDidLayoutSubViews'中的'button.frame'是什麼以及它有什麼不同? – noblerare

+0

@noblerare其實在viewDidLoad()中設置.frame沒有任何效果,我只是忘了刪除它。有兩種方法可以將按鈕放在底部中央:1)使用Autolayout或2)手動設置框架。在這裏,我和2)以及viewDidLayoutSubViews()是所有視圖已經佈置的地方。這也是我知道self.view的正確框架的地方,所以我只是通過按鈕框架進行設置。 – aunnnn

0

一個解決辦法是創建自己的的TabBar的子類,或者只是創建具有一個通用的UIView與TabBar相同的屬性(例如,在某些高度顯示在視圖內的按鈕數組,其中中間的高度或偏移值不同)。

你可以採取的另一種途徑是搜索並找到其他框架,使用它們可以執行相同的功能。在cocoacontrols快速搜索提出了幾個選項,看起來最接近你正在尋找的是RaisedCenterTabBar

相關問題