uitabbar 之 badgevalue 問題記錄
應用上架後, 測試報給我乙個這樣的情況: 由於第乙個模組的需要使用到 tabbar 的 badgevalue, 而這個值是通過介面獲取到的, 當應用啟動以後, 由於這個時候網路請求比較多, 如果網路不好的情況下, 該值會有一定延遲才能獲取得到, 這時候 badvalue 對應的小紅點首先是沒有數字, 然後便是從對應的 tabbaritem 的左上角慢慢的移動到右上角.
由於一開始感覺這個需求會比較簡單, 所以是直接給 tabbaritem.badgevalue 賦值, 並沒有做其他措施
給 tabbar 新增乙個分類, 自定義控制項實現 badgevalue 的效果.
一共三個方法(swift):
/// 在 tabbar 的指定位置顯示 badvalue
////// - parameters:
/// - index: 指定位置
/// - badgevalue: 顯示的值
func showbadgeonitemindex(index: int, badgevalue: int)
let percentx = (float(index) + 0.55) / float(count)
let x = ceilf(percentx * float(tabframe.size.width))
let y = ceilf(0.1 * float(tabframe.size.height))
if badgevalue < 10 else if badgevalue >= 10 && badgevalue < 100 else
self.addsubview(badgeview)
}/// 隱藏 badgevalue, 為0時呼叫
////// - parameter index: 需要隱藏的 tabbaritem 的位置
func hidebadgeonitemindex(index: int)
/// 移除 tabbaritem 的 badgevalue
////// - parameter index: 需要移除的 tabbaritem 的位置
func removebadgeonitemindex(index: int)
}}
UItabBar上新增紅點
系統提供的bagevalue展現形式只能為數字形式。其實小紅點展示形式的實現方式非常簡單 只需要在工程中實現如下的uitabbar分類就可以實現 直接拷貝一下 即可 在.h檔案中 import inte ce uitabbar wjbadgevalue void showbadgeonitemind...
如何徹底隱藏系統自帶的UITabBar
這個問題曾經一直讓我很頭疼,現在在工作中,終於找到了自己的辦法!1 不使用系統自帶的uitabbar,所以首先要自定義乙個標籤欄,繼承於uiview就可以了 2 隱藏系統自帶的tabbar,方法 在繼承於uitabbarcontroller的類中,新增self.tabbar.hidden yes 3...
UITabBar小紅點(適配iPad)
一 解決上面問題可以採取遍歷uitabbarbutton的方法獲取item的寬度 cgfloat tabbaritemwidth 0 for uiview view in self subviews else 二 自定bagevalue適配 iphone和ipad 系統self.tabbarcont...