【问题标题】:Swift 3 - How do I create a prominent button on a tab bar (e.g. camera button) [duplicate]Swift 3 - 如何在标签栏上创建一个突出的按钮(例如相机按钮)[重复]
【发布时间】:2017-02-27 03:38:23
【问题描述】:

我正在使用 Swift 3、Xcode 8.2。

我想要这样的东西(忽略以奥斯卡为主题的填充),其中相机按钮在标签栏上更突出/被包围:

我假设整个内容是一个图像,但该图像是否以某种方式自然地从标签栏升起?

任何资源,或者如果你能指出我正确的方向,那就太好了。谢谢!

编辑

我可能找到了另一篇解释我想要做什么的文章:How do we create a bigger center UITabBar Item

【问题讨论】:

  • 这个答案比其他问题的答案要好得多

标签: ios swift swift3 uitabbarcontroller


【解决方案1】:

一种方法是简单地将您的 UIButton 添加到具有虚拟中心视图控制器的 UITabBarController 之上。

这里我使用故事板和子类 UITabBarController 来添加该按钮:

这是我的故事板,请注意中心视图控制器是如何留出空间的:

只有这些代码和故事板,结果如下:

项目在这里:https://github.com/aunnnn/TestButtonOnTabBar/

【讨论】:

  • 这对我来说是完美的。谢谢!
  • 您能帮我理解代码中的数字吗?具体来说,viewDidLoadviewDidLayoutSubViews中的button.frame是做什么的,有什么不同?
  • @noblerare 实际上在 viewDidLoad() 中设置 .frame 在这里没有任何效果,我只是忘了删除它。将按钮放在底部中心有两种方法:1)使用自动布局或 2)手动设置框架。这里我选择 2),viewDidLayoutSubViews() 是所有视图都已经布置好的地方。这也是我知道self.view的正确框架的地方,所以我只是在那里通过按钮框架设置。
  • 完美运行。谢谢兄弟。
  • 工作正常。一个问题。如果它被选中,你将如何改变它的颜色?
【解决方案2】:

一种解决方案是创建您自己的 TabBar 子类,或者只创建一个具有与 TabBar 相同属性的通用 UIView(例如,在特定高度显示在视图内的按钮数组,中心一个带有不同的高度或偏移值)。

您可以采取的另一条途径是搜索并找到可以使用的其他执行相同功能的框架。在cocoacontrols 上快速搜索会找到几个选项,其中最接近您要查找的选项是RaisedCenterTabBar

【讨论】:

    猜你喜欢
    • 2018-04-02
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多