鍍金池/ 問答/iOS/ 對UITabbar進行hidden后,事件無法被觸發(fā),怎么回事?

對UITabbar進行hidden后,事件無法被觸發(fā),怎么回事?

圖片描述

對UITabbar進行hidden, self.tabBarController.tabBar.hidden = YES;跟tabbar位置對應的下層的按鈕的點擊事件無法被觸發(fā)。
1、這是什么怎么回事?
2、有什么好的解決辦法?
3、如何像hidesBottomBarWhenPushed一樣隱藏UITabbar?

1、嘗試過移動tabbar的位置,但是按鈕事件一樣沒辦法被觸發(fā)
2、keyWendow上添加view沒辦法滿足需求

回答
編輯回答
哎呦喂

Q1: 我覺得是tabbar擋住了其他控件, 導致無法點擊
Q2: 顯而易見改下被遮擋控件的frame

補充下控件無法響應的幾種常見的情況, 題主可以排查下:
    控件被隱藏                 hidden
    控件的透明度 ≤ 0.01        alpha
    用戶交互被關閉              User Interaction
    子控件超出父控件的有效范圍    圖層Layer

Q3: 隱藏tabbar的方法:

假設一級頁面正常顯示tabbar, 二級頁面不顯示tabbar (類似微信朋友圈)
我采取的方法是: 重寫ViewWillAppear, 在view顯示之前, 就隱藏tabbar (注意一級頁面要設置 hidden = NO)
    // 一級界面
    - (void)viewWillAppear:(BOOL)animated {
    
        [super viewWillAppear:animated];
    
        // 不隱藏 tabbar
        self.tabBarController.tabBar.hidden = NO;
    
    }
    // 二級界面
    - (void)viewWillAppear:(BOOL)animated {
    
        [super viewWillAppear:animated];
    
        /** 隱藏 tabbar **/
        self.tabBarController.tabBar.hidden = YES;
    
    }
2017年7月28日 04:23
編輯回答
薔薇花

按鈕點擊事件無法觸發(fā) 這種建議查看下按鈕是否添加在了父視圖的有效范圍內(nèi),如果按鈕位置超出父視圖會導致事件無法傳遞。

2017年12月15日 05:03
編輯回答
憶往昔

改透明度試試

2017年8月16日 10:48