2014-11-04 107 views
2

UITabbarController有4個標籤iPhone 4,4S,5,5S是沃金罰款的TabBar項圖像UITabbar在Xcode 6

enter image description here

但在iPhone 6和iPhone 6 Plus是看有線。 是否需要爲iPhone 6和iPhone 6加上不同的圖像? 如何設置此圖像。

在iphone 6

enter image description here

而且,iPhone 6加

enter image description here

+0

那麼你有這個問題的解決方案?請分享。 – Nico 2015-05-18 09:59:06

回答

0

你需要作出新的大小爲iPhone 6和iPhone 6加。他們有新的分辨率:iPhone 6(1334×750像素)和iPhone 6 Plus(1920×1080像素)。

此外,如果您使用自動佈局,您需要更新您的約束。

+0

你的意思是我需要爲iPhone 6添加單獨的故事板? – 2014-11-04 09:02:11

+0

沒必要,你應該檢查這個帖子:http://stackoverflow.com/questions/25781422/image-resolution-for-new-iphone-6-and-6-3x-support-added 它解釋瞭如何實現iPhone 6/6Plus上的圖像大小 – Guimareshh 2014-11-04 09:03:48

4

我遇到了同樣的問題。這裏的問題不僅僅是不同的解決方案,而且事實上,對於iphone 6和iphone 6,界限的大小實際上更寬。通過對各種不同類型的手機運行的模擬器,我發現以下幾點:

Tab bar Bounds 
iPhone 6 plus: 414 x 49 
iPhone 6:  375 x 49 
iPhone 5:  320 x 49 
iPhone 4  320 x 49 

這意味着你必須使用不同的背景圖片爲iPhone 6,6加。 我不知道這是否是做到這一點的最有效的方式,但它固定對我來說:

UITabBarController *tabBarController = (UITabBarController *) self.parentViewController; 
UITabBar *tabBar = tabBarController.tabBar; 

if ([[UIScreen mainScreen] bounds].size.height > 700) { 
    tabBar.selectionIndicatorImage = [UIImage imageNamed:@"tabbar-selected6Plus"]; 
} else if ([[UIScreen mainScreen] bounds].size.height > 600) { 
    tabBar.selectionIndicatorImage = [UIImage imageNamed:@"tabbar-selected6"]; 
} else { 
    tabBar.selectionIndicatorImage = [UIImage imageNamed:@"tabbar-selected"]; 
} 

希望幫助!

+1

經過幾個小時的搜索,這解決了我的問題!謝謝! – 2016-10-26 19:47:14