UITabBarController移除系統自帶UITabBarButton簡單實現
以下做法在iOS 9、10 上可行
在viewWillAppear:方法移除
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
for (UIView *view in self.tabBar.subviews) {
if([view isKindOfClass:NSClassFromString(@"UITabBarButton")])
[view removeFromSuperview];
}
NSLog(@"%@",self.tabBar.subviews);
}
結果
在以下兩個方法再次檢視tabBar的子控制元件
-(void)viewWillLayoutSubviews{
[super viewWillLayoutSubviews];
NSLog(@"%s",__func__);
NSLog(@"%@",self.tabBar.subviews);
}
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSLog(@"%s",__func__);
NSLog(@"%@",self.tabBar.subviews);
}
結果顯示確實移除了UITabBarButton
在iOS11上採用同樣的做法
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
for (UIView *view in self.tabBar.subviews) {
if([view isKindOfClass:NSClassFromString(@"UITabBarButton")])
[view removeFromSuperview];
}
NSLog(@"%s",__func__);
NSLog(@"%@",self.tabBar.subviews);
}
-(void)viewWillLayoutSubviews{
[super viewWillLayoutSubviews];
NSLog(@"%s",__func__);
NSLog(@"%@",self.tabBar.subviews);
}
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
NSLog(@"%s",__func__);
NSLog(@"%@",self.tabBar.subviews);
}
結果
雖然在viewWillApper:方法中移除了UITabBarButton,而且在viewWillLayoutSubViews中顯示為空,但是系統又做了一些處理,還原了UITabBarButton
暫時解決方案
將移除子控制元件的業務邏輯寫到viewWillLayoutSubviews方法中,得到以下結果,可以移除子控制元件
實驗測試寫在viewDidAppear:、viewDidLayoutSubviews均可行
相關文章
- 帶貨直播系統,實現簡單的換頭像並儲存
- 簡單快遞系統 java實現Java
- ServerSocket實現簡單的廣播系統Server
- C#反射實現簡單的外掛系統C#反射
- GFS(谷歌檔案系統)的JAVA簡單實現谷歌Java
- 9.移除元素(簡單)
- Lumen/Laravel 整合 GatewayWorker (Workerman),實現簡單的聊天系統.LaravelGateway
- 基於Netty的Android系統IM簡單實現原理NettyAndroid
- 使用簡單的Java程式碼實現酒店管理系統Java
- 簡單實現帶節點的進度條
- 網易雲音樂推薦系統簡單實現系列
- 直播系統搭建,簡單實現Android應用的啟動頁Android
- [手寫系列] 帶你實現一個簡單的PromisePromise
- js拖拽原理及簡單實現(渣渣自學)JS
- python3+telnetlib實現簡單自動測試Python
- go實現簡易分散式系統Go分散式
- Promise 簡單實現Promise
- ReadableStream 簡單實現
- Express 簡單實現Express
- AspectJ簡單實現
- FastClick簡單實現AST
- go語言實現的一款簡單的網盤系統Go
- Python實現效能自動化測試竟然如此簡單Python
- 簡單查重系統
- 使用Java帶你打造一款簡單的外賣系統Java
- PXE實現系統自動化安裝
- LeetCode:每日一題:27. 移除元素 ——————簡單LeetCode每日一題
- vue+nuxt+scss+node+express+MongoDB 實現的簡單文章釋出系統VueUXCSSExpressMongoDB
- Python實現簡易版選課系統Python
- 精簡版 koa 簡單實現
- 簡單版Promise實現Promise
- 簡單實現vuex原理Vue
- AOP的簡單實現
- 物件池簡單實現物件
- React 簡單實現(一)React
- 簡單的 HashMap 實現HashMap
- 感知機簡單實現
- 瀑布流簡單實現