2015-09-18 21 views
5

私はアプリでUITabbarを使用しています。 UITabbarの上部に境界線が表示されます。 画像の下に参照してください - 私はそれをGoogleで検索し、同じよう提案したコードを試してみましたUITabbar上部の境界線を削除する

: -

[[UITabBar appearance] setShadowImage:[[UIImage alloc] init]]; 

はまた

[[UITabBar appearance] setShadowImage:nil]; 

self.navigationController.toolbar.clipsToBounds = YES; 

しかし、それらのどれもが作業していません。どんな解決策ですか?後

enter image description here

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 


    [[UITabBar appearance] setBackgroundImage:[[UIImage alloc] init]]; 
    [[UITabBar appearance] setShadowImage:[[UIImage alloc] init]]; 
    // Override point for customization after application launch. 
    return YES; 
} 

:あなたはあなたのUITabbarから削除ボーダーのためのコードのみ、この2行を追加する必要があり

enter image description here

+0

** iOS 10.X **にはいくつか変更がありますので、[この回答](http://stackoverflow.com/a/39858796/3752143)に従ってください。 –

答えて

6
[self.tabBar setValue:@(YES) forKeyPath:@"_hidesShadow"]; 

またはあなたが使用することができます

[[UITabBar appearance] setShadowImage:[UIImage imageNamed:@"transparentShadow.png"]]; 

または

[[UITabBar appearance] setShadowImage:nil]; 
+0

背景画像を追加しているので、影を隠すだけです。 – Usama

+0

私は透明なイメージが必要なのですか? –

+0

シャドーのイメージを全く必要としない場合は、透過イメージを追加する必要はありません。ちょうどnilを渡す。私の編集された答えを見てください。 – Usama

1

enter image description here

UPDATE: あなたは、コードに次のようにゼロなどの背景だけでなく画像やシャドウ・セットをcanset

UIImage* tabBarBackground = [UIImage imageNamed:@"tabbar.png"]; 
    [[UITabBar appearance] setShadowImage:[[UIImage alloc] init]]; 
    [[UITabBar appearance] setBackgroundImage:tabBarBackground]; 

OUTPUT:

enter image description here

+0

これは動作しますが、背景画像も設定する必要があります。 最初の行を削除すると、行が表示されます –

+0

これは動作しません3 xcode 8.どうすればこの行を削除できますか? –

5

tabBar.clipsToBounds = YES;私のための仕事です。

1

shadowImageプロパティUITabbarは、この境界線(グレーの色の影)をUITabbarに割り当てます。このプロパティの値を更新して削除します。

**ここ

//Remove shadow image by assigning nil value. 
UITabBar.appearance().shadowImage = nil 

// or 

// Assing UIImage instance without image reference 
UITabBar.appearance().shadowImage = UIImage() 


shadowImage

@available(iOS 6.0, *) 
open var shadowImage: UIImage? 

用リンゴのガイドラインですスウィフト** **のObjective-C **

//Remove shadow image by assigning nil value. 
[[UITabBar appearance] setShadowImage: nil]; 

// or 

// Assing UIImage instance without image reference 
[[UITabBar appearance] setShadowImage: [[UIImage alloc] init]]; 

、これを試してみてくださいデフォルトはnilです。 non-nilの場合は、デフォルトシャドウイメージの代わりに の代わりに表示するカスタムシャドウイメージ。カスタムシャドウを表示するには、カスタムの 背景画像も-setBackgroundImage:で設定する必要があります( のデフォルト背景画像が使用されている場合、デフォルトシャドウ画像は になります)。

関連する問題