明天在自定義tabBar的時分,采用了上面的方式
按鈕A和C是異樣的功用,B按鈕是另一個不同的功用,比方modal一個控制器之類的..
然後采取的方式是A和C采用自定義的Button,B采用零碎的Button,然後在自定義的tabBar中停止了layoutsubviews中停止了重新規劃!
/**題外話
一開端我是想重新用一個View添加到tabBarController的View上,自己制造一個tabbar,但是在導航欄Push出新控制器時不方便隱藏底部控制條,
由於是自己寫的view,所以hidesBottomBarWhenPushed不起作用,團體的想法法是在導航類中重寫pushViewcontroller辦法,然後在外面發送告訴,
tabbarController接納到告訴設置底部view 的動畫,然後由於無法獲取零碎push動畫的時間,所以需求在重寫pushViewController中設置自己的push動畫,
當然這只是個初步的想法!沒有完成...
*/
然後在tabBarController中的viewWillAppear中移除零碎的tabBarButton,然後為難的發現理想的狀況是上面這樣的
可以看見地下生成了零碎的按鈕,但是兩頭的按鈕並沒有生成,但是從下圖中可以看見實踐上兩頭也生成了一個按鈕的!
然後我又嘗試了在viewWillAppear中移除零碎的tabBarButton,但是零碎還是生成了按鈕掩蓋!然後就思索在viewDidAppear中移除,但是
只需一點最後一個按鈕兩頭那個按鈕上就會發生一個零碎發生的按鈕,然後就將兩頭的按鈕掩蓋了!
然後各種斷點各種查找都沒找到發生這種景象的緣由,在網上有些人說由於iOS10一下tabBar外部layoutsubviews停止了零碎規劃的問題,
但是我手裡的教程是很久以前萬能商城上買的,那份代碼運轉起來完全沒有問題...
最後終於在簡書上找到了答案!
原來,每個控制器都有標題,由於有導航欄和tabBar的存在,所以零碎便當的提供了一個title屬性,便於大家設置標題,
於是我也就習氣的運用
[objc]view plaincopy self.title=@"我"; 然後零碎會很溫馨得幫你檢測,看看你的導航欄標題是什麼,不論是什麼都改成你設置的值,然後看看你的tabBar(假如有的話,後面運用自定義的View是沒有問題的),針對這個控制器,你的tabBarButton是不是標題也是這個值,
假如不是,或許沒有,零碎就自動給你添加一個,於是就發生了掩蓋!
但是由於我的是代碼寫就,就算在viewWillAppear中移除一切按鈕,並且各個控制器都只設置navigationItem.title,零碎還是會默許生成通明的tabBarButton,
所以,最終結論:由於團體知識范圍無限,目前的辦法是在viewDidAppear中移除tabBarbutton,然後各個控制器獨自設置navigationItem.title
假如大家有更好的方式,請一定留言指教!
【iOS10自定義tabBar出錯】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!