簡體   English   中英

如何在IOS 8中使UINavigationBar透明?

[英]How to make UINavigationBar Transparent in IOS 8?

我已經嘗試了很多讓UINavigationBar透明的東西。 但我沒有成功。我設置的圖像是透明的。 這是我的代碼。 有幫助嗎? 提前致謝。

 [rootNavC.navigationBar setBackgroundImage:[UIImage imageNamed:@"NAV_BG_iphone.png"] forBarMetrics:UIBarMetricsDefault];
rootNavC.navigationBar.translucent = YES;
rootNavC.navigationBar.backgroundColor = [UIColor clearColor];
[[UINavigationBar appearance] setTitleTextAttributes:@{
                           UITextAttributeTextColor : [UIColor whiteColor],
                     UITextAttributeTextShadowColor : [UIColor clearColor],
                    UITextAttributeTextShadowOffset : [NSValue valueWithUIOffset:UIOffsetMake(0, 0)],
                                UITextAttributeFont : [UIFont fontWithName:@"pastel" size:20]
 }];

嘗試這個

   [self.navigationController.navigationBar setBackgroundImage:[UIImage new]
                         forBarMetrics:UIBarMetricsDefault];
    self.navigationController.navigationBar.shadowImage = [UIImage new];
    self.navigationController.navigationBar.translucent = YES;
    self.navigationController.view.backgroundColor = [UIColor clearColor];

我希望上面的代碼有所幫助。

嘗試添加此代碼。 它在iOS 8中適用於我。

[self.navigationController.navigationBar setTranslucent:YES];
[self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [[UIImage alloc] init];
self.navigationController.navigationBar.backgroundColor = [UIColor clearColor]

使用此代碼,您甚至不需要添加透明的UIImage 如果有幫助,請在這里更新。

謝謝大家。 問題是我在視圖控制器中添加了這一行:

if (IS_OS_7_OR_LATER)
{
    self.edgesForExtendedLayout = UIRectEdgeNone;
    self.extendedLayoutIncludesOpaqueBars = NO;
    self.automaticallyAdjustsScrollViewInsets = NO;
}

這就是代碼無效的原因。 當我刪除該行

self.edgesForExtendedLayout = UIRectEdgeNone;

代碼有效。

@Sushil好像他有它。 在我的應用程序中,我使用

[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];

而不是alloc init ,是唯一的區別。

嘗試這個

 [rootNavC.navigationBar setBackgroundImage:[UIImage imageNamed:@"NAV_BG_iphone.png"] forBarMetrics:UIBarMetricsDefault];
  rootNavC.navigationBar.translucent = YES;
  [[rootNavC.UINavigationBar appearance] setBarTintColor:[UIColor clearColor]];
   //rootNavC.navigationBar.backgroundColor = [UIColor clearColor];
    [[UINavigationBar appearance] setTitleTextAttributes:@{
                       UITextAttributeTextColor : [UIColor whiteColor],
                 UITextAttributeTextShadowColor : [UIColor clearColor],
                UITextAttributeTextShadowOffset : [NSValue valueWithUIOffset:UIOffsetMake(0, 0)],
                            UITextAttributeFont : [UIFont fontWithName:@"pastel" size:20]
   }];

這適用於IOS 7和+

[self.navigationController.navigationBar setTranslucent:YES];
self.navigationController.navigationBar.shadowImage = [UIImage new];
self.navigationController.view.backgroundColor = [UIColor clearColor];
[self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
self.navigationController.navigationBar.shadowImage = [[UIImage alloc] init];
self.navigationController.navigationBar.backgroundColor = [UIColor clearColor];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM