2017-02-27 85 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

相关问题