我想构建一个具有白色背景色,圆角,较小的宽度和自定义指示器的自定义UITabBar(请参见图片)。我可以继承UITabBar / UITabBarController的子类,还是必须手动创建新视图?我该怎么办?
非常感谢!
答案 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连接到按钮,并在点击时选择并取消选择。
如果您需要澄清,可以告诉我。再见。