iOS 中Swift仿微信添加提示小紅點功能(無數(shù)字)
更新時間:2017年05月02日 11:30:10 作者:LinXunFeng
這篇文章主要介紹了iOS 中Swift仿微信添加提示小紅點功能(無數(shù)字),非常不錯,具有參考借鑒價值,需要的朋友可以參考下
具體內(nèi)容詳情如下所示:
- 以分類的方式實現(xiàn)
代碼
UITabBar+Extenstion.swift
fileprivate let lxfFlag: Int = 666
extension UITabBar {
// MARK:- 顯示小紅點
func showBadgOn(index itemIndex: Int, tabbarItemNums: CGFloat = 4.0) {
// 移除之前的小紅點
self.removeBadgeOn(index: itemIndex)
// 創(chuàng)建小紅點
let bageView = UIView()
bageView.tag = itemIndex + lxfFlag
bageView.layer.cornerRadius = 5
bageView.backgroundColor = UIColor.red
let tabFrame = self.frame
// 確定小紅點的位置
let percentX: CGFloat = (CGFloat(itemIndex) + 0.59) / tabbarItemNums
let x: CGFloat = CGFloat(ceilf(Float(percentX * tabFrame.size.width)))
let y: CGFloat = CGFloat(ceilf(Float(0.115 * tabFrame.size.height)))
bageView.frame = CGRect(x: x, y: y, width: 10, height: 10)
self.addSubview(bageView)
}
// MARK:- 隱藏小紅點
func hideBadg(on itemIndex: Int) {
// 移除小紅點
self.removeBadgeOn(index: itemIndex)
}
// MARK:- 移除小紅點
fileprivate func removeBadgeOn(index itemIndex: Int) {
// 按照tag值進行移除
_ = subviews.map {
if $0.tag == itemIndex + lxfFlag {
$0.removeFromSuperview()
}
}
}
}
使用
// 默認4個tabbarItem self.tabBarController?.tabBar.showBadgOn(index: 2) // 如果不是則用這個方法 // self.tabBarController?.tabBar.showBadgOn(index: Int, tabbarItemNums: CGFloat)
效果

小紅點
以上所述是小編給大家介紹的iOS 中Swift仿微信添加提示小紅點功能(無數(shù)字),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
iOS App使用GCD導(dǎo)致的卡頓現(xiàn)象及解決方法
這篇文章主要給大家介紹了關(guān)于iOS App使用GCD導(dǎo)致的卡頓現(xiàn)象及解決方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
Objective-C編程中語句和變量的一些編寫規(guī)范建議
這篇文章主要介紹了Objective-C編程中語句和變量的一些編寫規(guī)范建議,包括三目運算符和錯誤處理等方面,以及對變量命名的書寫建議,需要的朋友可以參考下2016-04-04

