如何建立自定义的UITabBar?

时间:2018-07-26 14:04:27

标签: ios swift uikit uitabbar

我想构建一个具有白色背景色,圆角,较小的宽度和自定义指示器的自定义UITabBar(请参见图片)。我可以继承UITabBar / UITabBarController的子类,还是必须手动创建新视图?我该怎么办?

非常感谢!

the tab bar i want to build

1 个答案:

答案 0 :(得分:0)

好吧...首先,您可以打开情节提要并设置漂亮的粉红色背景色,然后可以添加UIView。

您可以为超级视图设置成比例的高度和宽度,例如将0.9设置为宽度,将0.12设置为高度,然后设置中心X约束并与超级视图的底部对齐。

在视图中添加一个水平stackView,其中三个按钮均以“填充”形式均匀地嵌入其中。

现在在所有状态下将背景图像设置为按钮,默认状态下为图像的黑白版本,突出显示和选定状态下为彩色版本。

现在转到代码并添加类似以下内容的圆角方法:

extension UIView{
func roundedView(){
    let maskPath1 = UIBezierPath(roundedRect: bounds,
                                 byRoundingCorners: [.topLeft , .topRight],
                                 cornerRadii: CGSize(width: 15, height: 15))
    let maskLayer1 = CAShapeLayer()
    maskLayer1.frame = bounds
    maskLayer1.path = maskPath1.cgPath
    layer.mask = maskLayer1
  }
}

现在,在您的视图中会添加一个tabBar?.roundedView()

如果您像魔术一样连接tabBar UIView的IBOutlet,则可以看到带有圆角的“ tabBar”。

现在将IBOutlet连接到按钮,并在点击时选择并取消选择。

如果您需要澄清,可以告诉我。再见。