【iOS 1 行代碼系列】之 一行代碼告別系統(tǒng)的大紅粗圓點

UITabBar 寫個分類,搞定!

上代碼:

// UITabBar+JHBadge.h

@interface UITabBar (JHBadge)

/// Show red dot.
- (void)jh_showRedDot:(NSInteger)index;

/// Hide red dot.
- (void)jh_hideRedDot:(NSInteger)index;

@end

// UITabBar+JHBadge.m
#import "UITabBar+JHBadge.h"

@implementation UITabBar (JHBadge)

- (void)jh_showRedDot:(NSInteger)index{
    [[self reddotForIndex:index] setHidden:NO];
}

- (void)jh_hideRedDot:(NSInteger)index{
    [[self reddotForIndex:index] setHidden:YES];
}

#pragma mark - private
- (UIView *)reddotForIndex:(NSInteger)index
{
    NSInteger tag = 666 + index;
    UIView *reddot = [self viewWithTag:tag];
    if (!reddot) {

        // If add custom button in 'Tabbar', 'count' should +1.
        // 如果添加了自定義按鈕,這里應(yīng)該 +1.
        NSInteger count = self.items.count;
        CGFloat X = CGRectGetWidth(self.bounds)*((index+0.65)/count);
        CGFloat Y = CGRectGetHeight(self.bounds)*0.1;
        UIView *view = [[UIView alloc] init];
        view.backgroundColor = [UIColor redColor];
        view.layer.cornerRadius = 5;
        view.tag = tag;
        view.frame = CGRectMake(X, Y, 10, 10);
        [self addSubview:view];
        reddot = view;
    }
    return reddot;
}

@end
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,351評論 25 708
  • 無戒365天極限挑戰(zhàn)營|第45天 “你給我回來!”隨著一聲喊叫,一對夫妻在魚塘邊扭打了起來,男的順勢一推,把女的推...
    小凡丫丫閱讀 1,171評論 0 2
  • 讀《了小狗錢錢》后,我對于收入該怎樣分配才有所大致的方向概念。之前,我對于收入就是想花就花,并沒有一個限制額度的想...
    誰誰占了我的名兒閱讀 363評論 0 0
  • iOS-時間與日期詳解http://m.itdecent.cn/p/f8aab37a27ffhttps://g...
    阿龍飛閱讀 243評論 0 0
  • L,S,W和J正在做老師布置的作業(yè),這時,老師走了進來,對教室里的他們說,“元旦節(jié),你們四個要出一個節(jié)目,你們想一...
    蔣瑩閱讀 986評論 0 0

友情鏈接更多精彩內(nèi)容