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
- 學生管理系統java簡單實現Java
- 9.移除元素(簡單)
- C#反射實現簡單的外掛系統C#反射
- GFS(谷歌檔案系統)的JAVA簡單實現谷歌Java
- 系統引導載入器的簡單實現
- 簡單實現帶節點的進度條
- iOS 簡單實現帶圖片的LabeliOS
- 網易雲音樂推薦系統簡單實現系列
- Lumen/Laravel 整合 GatewayWorker (Workerman),實現簡單的聊天系統.LaravelGateway
- 使用簡單的Java程式碼實現酒店管理系統Java
- windows8系統如何實現簡單無損分割槽Windows
- 簡單實現安卓app自動更新功能安卓APP
- Oracle 最簡單的隨系統自動啟動Oracle
- [手寫系列] 帶你實現一個簡單的PromisePromise
- 基於Netty的Android系統IM簡單實現原理NettyAndroid
- 自寫資訊管理系統—— C 實現
- 自寫資訊管理系統——C實現
- go實現簡易分散式系統Go分散式
- javascript自帶彈出視窗簡單介紹JavaScript
- Promise 簡單實現Promise
- FastClick簡單實現AST
- Express 簡單實現Express
- AspectJ簡單實現
- getElementsByClassName簡單實現
- go語言實現的一款簡單的網盤系統Go
- 直播系統搭建,簡單實現Android應用的啟動頁Android
- jQuery實現的自動播放簡單程式碼例項jQuery
- PXE實現系統自動化安裝
- 使用Java帶你打造一款簡單的外賣系統Java
- Java簡單實現漢語詞頻統計Java
- 簡單查重系統
- vue+nuxt+scss+node+express+MongoDB 實現的簡單文章釋出系統VueUXCSSExpressMongoDB
- 鴻蒙系統應用開發之JS實現一個簡單的List鴻蒙JS
- iojs的jsdom庫實現同步系統時間簡單程式碼JS
- php之使用者管理系統的實現!(從簡單到複雜)PHP