以编程方式设置 ios 选项卡栏项
Set ios tabbar item programmatically
我有四个通过情节提要设置的选项卡项,但我想以编程方式设置一个选项卡栏,因为我希望最后一个选项卡栏项是我的个人资料图片。有没有一种方法可以在 ProfileViewController 中以编程方式只设置一个选项卡栏项目,而不必以编程方式设置其他三个选项卡栏项目。
我想将其设置为标签栏项目,但它显示为空白:
override func awakeFromNib() {
super.awakeFromNib()
self.tabBarItem.title = "MY ACCOUNT"
// self.tabBarItem.image = UIImage(named: "Speech Bubble Filled-50")
if let postProfile = self.loggedInUserUid {
let imageRef = FIRStorage.storage().reference().child((loggedInUserUid)!+"/profile_pic.jpg")
imageRef.data(withMaxSize: 1 * 1024 * 1024, completion: { (data, error) -> Void in
if error != nil {
print(error)
return
}
DispatchQueue.main.async(execute: { () -> Void in
let image = UIImage(data: data!)
self.tabBarItem.image = image
})
}).resume()
}}
视图控制器可以在从故事板加载后设置自己的选项卡图像。您可以在 awakeFromNib
:
中完成
class SecondViewController: UIViewController {
override func awakeFromNib() {
super.awakeFromNib()
self.tabBarItem.image = UIImage(named: "star")
}
}
结果:
你可能想要比我更好地调整图像大小......
我有四个通过情节提要设置的选项卡项,但我想以编程方式设置一个选项卡栏,因为我希望最后一个选项卡栏项是我的个人资料图片。有没有一种方法可以在 ProfileViewController 中以编程方式只设置一个选项卡栏项目,而不必以编程方式设置其他三个选项卡栏项目。
我想将其设置为标签栏项目,但它显示为空白:
override func awakeFromNib() {
super.awakeFromNib()
self.tabBarItem.title = "MY ACCOUNT"
// self.tabBarItem.image = UIImage(named: "Speech Bubble Filled-50")
if let postProfile = self.loggedInUserUid {
let imageRef = FIRStorage.storage().reference().child((loggedInUserUid)!+"/profile_pic.jpg")
imageRef.data(withMaxSize: 1 * 1024 * 1024, completion: { (data, error) -> Void in
if error != nil {
print(error)
return
}
DispatchQueue.main.async(execute: { () -> Void in
let image = UIImage(data: data!)
self.tabBarItem.image = image
})
}).resume()
}}
视图控制器可以在从故事板加载后设置自己的选项卡图像。您可以在 awakeFromNib
:
class SecondViewController: UIViewController {
override func awakeFromNib() {
super.awakeFromNib()
self.tabBarItem.image = UIImage(named: "star")
}
}
结果:
你可能想要比我更好地调整图像大小......