ios 完美封裝 tabBar 自定義加號按鈕

2021-08-17 00:09:11 字數 1462 閱讀 3988

1.自定義繼承於uitabbarcontroller

2.利用kvc 替換系統的tabbar

[self setvalue:[[lctabbar alloc]

init] forkeypath:@"tabbar"]

;

nsmutabledictionary *normalattrs = [nsmutabledictionary dictionary];

normalattrs[nsforegroundcolorattributename] = [uicolor graycolor]; normalattrs[nsfontattributename] = [uifont systemfontofsize:12];

nsmutabledictionary *selectedattrs = [nsmutabledictionary dictionary];

selectedattrs[nsforegroundcolorattributename] = [uicolor darkgraycolor];

[item settitletextattributes:normalattrs forstate:uicontrolstatenormal];

[item settitletextattributes:selectedattrs forstate:uicontrolstateselected];

1.自定義繼承於uitabbar

2.初始化

3.布局

如圖1

解決方案: 布局子控制項地方, 將中間按鈕 bringsubviewtofront

- (void)layoutsubviews

tabbarbutton.frame = cgrectmake(tabbarbuttonx, tabbarbuttony, tabbarbuttonw, tabbarbuttonh);

index++;

}[self bringsubviewtofront:self

.plusbutton];

}

如圖 2

解決方案: 重寫系統的hittest方法, 不了解的看官可以去查查事件傳遞和響應者鏈條

- (uiview *)hittest:(cgpoint)point withevent:(uievent *)event else

}else

}

ios自定義凸起TabBar

demo在本文最後,先來說下在做自定義tabbar時候遇到的問題 1.tabbar設定的背景色與想要的效果不一致,有的專案可能需要解決tabbar上方描邊黑線 2.在poptoroot或者切換tabbar selectindex時候,原生的uitabbaritem會覆蓋在自定義的tabbar上的問題...

iOS 輕鬆實現自定義TabBar

自定義tabbar的案例網上不少,昨天受到開發小夥伴的影響,嘗試了一下非大神的取巧思路 demo 1 建立rootviewcontroller,後面建立幾個繼承的vc,將這幾個vc新增到tabbarcontroller中 2 新增window.rootvc uitabbarc 3 在rootview...

vue簡單 tabbar封裝

tabbar.vue tabbaritem.vue 分類 購物車 我的 路由的index.js import vue from vue 1 引入路由 import router from vue router 2 使用路由 vue.use router 解決路由兩次點選報錯 const vuerou...