首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置UITabBarItem徽章

设置UITabBarItem徽章
EN

Stack Overflow用户
提问于 2015-06-08 01:56:43
回答 1查看 617关注 0票数 0

我正在使用SwiftParse.com为iOS 8开发一个应用程序。

我有一个有两个标签的应用程序。第二个选项卡查询我的Parse数据库中的一个表,我希望根据该Parse查询中对象的数量更新第二个选项卡的标记值。

我理解PFQueries是如何工作的,以及如何检索对象的数量等等,但是我不确定在哪里(即在什么方法/函数中)放置这个查询并更新选项卡的徽章?

将使用此代码或类似的代码来更新徽章值:

代码语言:javascript
复制
var tabArray = self.tabBarController?.tabBar.items as NSArray!
var tabItem = tabArray.objectAtIndex(1) as UITabBarItem
tabItem.badgeValue = "34" // will use the value of my countObjects Parse query

那么,我应该在哪里插入这个代码来更新徽章呢?它需要更新值时,应用程序第一次加载,然后去/离开第二个选项卡的视图。

也许,在应用程序第一次启动时,选项卡视图是否有一个函数,甚至在通过tabBar访问视图之前就启动了?

EN

回答 1

Stack Overflow用户

发布于 2015-06-08 02:29:39

您应该关注视图的生命周期和这三个methods:viewDidLoadviewWillAppearviewWillDisappear

代码语言:javascript
复制
func updateBadgeValue() {
    var tabArray = self.tabBarController?.tabBar.items as NSArray!
    var tabItem = tabArray.objectAtIndex(1) as UITabBarItem
    tabItem.badgeValue = "34" // will use the value of my countObjects Parse query
}

// first loads
override func viewDidLoad() {
    super.viewDidLoad()

    updateBadgeValue()
}

//  the view is about to made visible
override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)

    updateBadgeValue()
}

// the view is about to be removed 
override func viewWillDisappear(animated: Bool) {
    super.viewWillDisappear(animated)

    updateBadgeValue()
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30700294

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档