設置UITabBarController上ImageInsets后點擊不斷縮小


  最近遇到了這樣一個情況,客戶要求做出這種效果的UITabBarController。

  通過各種查詢,得出UITabBarController有這樣一個屬性,是設置它的圖片距上下左右距離的屬性:

        navSmartLifeController.tabBarItem.imageInsets = UIEdgeInsetsMake(-10, 0, 17, 0)

  欣喜地發現成功出現了客戶所需要的效果,雖說丑了點兒-.-

  但是,新的風暴馬上就出現了。點一下閃一秒我都忍了,誰告訴我為什么會越點越小

 

  心里是拒絕的。。

  然后開始了如下的嘗試:

  1.將設置ImageInsets從storyBoard改為代碼手寫,沒變化;

  2.遵守UITabBarControllerDelegate協議,在協議方法中判斷點擊的控制器后更改ImageInsets。仍無卵用;

  最終,發現了一個讓我激動的方法:

  3.

UIEdgeInsetsMake(<#T##top: CGFloat##CGFloat#>, <#T##left: CGFloat##CGFloat#>, <#T##bottom: CGFloat##CGFloat#>, <#T##right: CGFloat##CGFloat#>)

  仔細觀察,發現UIEdgeInsets是上左下右這樣區分的,所以要設置上下一致,左右一致,例如(-5,0,5,0)

  完成。

  

  卡了三個小時的Bug用了三分鍾解決了。希望大家能有所收獲,也多多了解UIEdgeInsets這一神奇的屬性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM