UITabBar小紅點(適配iPad)

2022-03-23 15:47:53 字數 1335 閱讀 8755

一、解決上面問題可以採取遍歷uitabbarbutton的方法獲取item的寬度

cgfloat tabbaritemwidth = 0;

for (uiview *view in [self subviews]) else

}}

二、自定bagevalue適配 iphone和ipad(系統self.tabbarcontroller.tabbaritem.badgevalue就可以)

1、uitabbar+badge.h

- (void)showbadgeonitemindex:(int)index;   //顯示小紅點

- (void)hidebadgeonitemindex:(int)index; //隱藏小紅點

2、uitabbar+badge.m

*

*使用需要設定引數 tabbar的個數

*/#define tabbaritemnums 4 //tabbar的數量 如果是5個設定5

@implementation uitabbar (badge)

//顯示小紅點

- (void)showbadgeonitemindex:(int)index else }}

//計算ipad兩邊的寬度

cgfloat padding = (kscreenwidth-tabbaritemwidth*tabbaritemnums)/2;

//計算小紅點的xy座標 (0.6 0.1屬於百分比可以自己定義)

cgfloat x = padding + index*tabbaritemwidth +tabbaritemwidth*0.6;

cgfloat y = 0.1 * self.frame.size.height;

badgeview.frame = cgrectmake(x, y, 10, 10);//圓形大小為10

[self addsubview:badgeview];

}//隱藏小紅點

- (void)hidebadgeonitemindex:(int)index

//移除小紅點

- (void)removebadgeonitemindex:(int)index

}}/*

*使用時:

*顯示*[self.tabbarcontroller.tabbar showbadgeonitemindex:2];

*隱藏*[self.tabbarcontroller.tabbar hidebadgeonitemindex:2]

* */

擴充套件uitabbar,解決訊息提示小紅點過大的問題

系統的uitabar小紅點顯示過大,需要修改其尺寸,我們可以通過擴充套件uitabbar的方式解決 如下 h import inte ce uitabbar badge void showbadgeonitemindex int index 顯示小紅點 void hidebadgeonitemind...

顯示通知小紅點

首先,在draw裡邊建乙個檔案,shap畫乙個橢圓。xml version 1.0 encoding utf 8 xmlns android android shape oval android color ff3b30 android radius 3dp android topleftradiu...

小紅點功能控制項

本意是想把做過的東西沉澱一下,防止重複造輪子。後來想想自己在實現這個的過程中還是走了一點彎路的。雖然網上找的輪子很多,其實大多都華而不實或者功能太多,工作中實現的東西最重要的不是功能炫,而是穩定,一旦需求變更或者出了bug要負責維護,過多的功能會在後期維護的時候造成很大困擾,使用者需要review整...