ios開發之Swift標籤欄按鈕UITabBarItem樣式修改(表徵圖文字尺寸,顏色等)

來源:互聯網
上載者:User

標籤:

 UITabBarItem在開發中非常的常用了它可以用來設定字型顏色及圖片的設定等等,下面我們來看一篇關於ios開發之Swift標籤欄按鈕UITabBarItem樣式修改(表徵圖文字尺寸,顏色等)的例子,具體的細節如下所示。

1,tabBarItem圖片的推薦尺寸和最大支援尺寸

下面是標籤欄(UITabBar)中tab按鈕表徵圖分別在1x、2x、3x下不會壓縮變形的尺寸:

@1x : 推薦 25 x 25   (最大: 48 x 32)
@2x : 推薦 50 x 50   (最大: 96 x 64)
@3x : 推薦 75 x 75   (最大: 144 x 96) 

下面是在2x下,左邊使用50 x 50的圖片,右邊使用64 x 64的圖片,大家可以比較下:

     

import UIKit
 
class MainTabViewController:UITabBarController
{
    override func viewDidLoad()
    {
        super.viewDidLoad()
        //一共包含了兩個視圖
        let qqView = View1ViewController()
        qqView.title = "QQ"
        let androidView = View1ViewController()
        androidView.title = "skype"
         
        //分別聲明兩個視圖控制器
        let qq = UINavigationController(rootViewController:qqView)
        qq.tabBarItem.image = UIImage(named:"qq")
        let android = UINavigationController(rootViewController:androidView)
        android.tabBarItem.image = UIImage(named:"skype")
        self.viewControllers = [qq,android]
              
        //預設選中的是qq視圖
        self.selectedIndex = 0
    }
}

2,修改圖片和文字的顏色 

預設未選中標籤的圖片和文字是灰色的,選中的是藍色的,下面修改成橙色:
(1)圖片和文字同時改變

//圖片文字一起變色
self.tabBar.tintColor = UIColor.orangeColor()

(2)只改變文字顏色

//改變文字顏色
UITabBarItem.appearance().setTitleTextAttributes(
    [NSForegroundColorAttributeName: UIColor.grayColor()], forState:.Normal)
UITabBarItem.appearance().setTitleTextAttributes(
    [NSForegroundColorAttributeName: UIColor.orangeColor()], forState:.Selected)

(3)只改變圖片顏色

self.tabBar.tintColor = UIColor.orangeColor()
//文字顏色還原
UITabBarItem.appearance().setTitleTextAttributes(
    [NSForegroundColorAttributeName: self.view.tintColor], forState:.Selected)

3,選中時、不選中時使用不同圖片
預設標籤選中、不選中都使用的是同一個圖片,只是顏色不同。我們也可使用兩張不同圖片表示兩種狀態。


qq.tabBarItem = UITabBarItem(title: "QQ", image: UIImage(named: "qq"),
    selectedImage: UIImage(named: "qq_active"))
 
android.tabBarItem = UITabBarItem(title: "Android", image: UIImage(named: "android"),
    selectedImage: UIImage(named: "android_active"))

4,使用圖片的原始顏色

預設不管原圖是什麼顏色,渲染器都會將渲染成單一顏色,雖說符合現在扁平化的趨勢,但有時我們還是想要使用圖片原來的樣子。
如下範例,標籤選中時使用不著色的原始圖片(未選中仍然渲染成灰色,當然也可以使用原始圖片)

qq.tabBarItem =  UITabBarItem(title: "QQ", image: UIImage(named: "qq_color"),
    selectedImage: UIImage(named: "qq_color")?.imageWithRenderingMode(.AlwaysOriginal))
 
android.tabBarItem =  UITabBarItem(title: "Android", image: UIImage(named: "android_color"),
    selectedImage: UIImage(named: "android_color")?.imageWithRenderingMode(.AlwaysOriginal))

ios開發之Swift標籤欄按鈕UITabBarItem樣式修改(表徵圖文字尺寸,顏色等)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.