UI控件
模拟一个新浪微博
class ZFTabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
}
//注意,修改tabBar的样式应该在viewWillAppear中修改,如果在viewDidLoad修改,在执行viewWillAppear会全部还原默认样式
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
//遍历所有的TabBar的item
//除过第三个(下标2)按钮屏蔽,其他均可点击
var index = 0
for item in tabBar.items!
{
print(index)
item.isEnabled = index != 2
index += 1
item.image?.withRenderingMode(.alwaysOriginal)
item.selectedImage?.withRenderingMode(.alwaysOriginal)
}
//自定义一个中间按钮,并添加点击事件
let publishBtn = UIButton.init()
publishBtn.setImage(UIImage.init(named: "tabbar_compose_icon_add"), for: .normal)
publishBtn.setImage(UIImage.init(named: "tabbar_compose_icon_add_highlighted"), for: .highlighted)
publishBtn.setBackgroundImage(UIImage.init(named: "tabbar_compose_button"), for: .normal)
publishBtn.setBackgroundImage(UIImage.init(named: "tabbar_compose_button_highlighted"), for: .highlighted)
publishBtn.frame = CGRect(x:0,y:0,width:64,height:44)
publishBtn.center = tabBar.center
view.addSubview(publishBtn)
publishBtn.addTarget(self, action: #selector(ZFTabBarController.centerBtnClick), for: .touchUpInside)
}
func centerBtnClick() {
print("点击了中间的按钮")
}
}