lsd*_*ies 5 iphone uinavigationbar uiimage ios6
我正在尝试在表视图中为导航栏设置自定义阴影图像,但它仅在某些视图中显示.我创建了一个超类来为我的表视图设置样式.
- (void)viewDidLoad
{
[super viewDidLoad];
// Set navigation bar background
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navigationbarbackground.png"] forBarMetrics:UIBarMetricsDefault];
// Set navigation bar shadow imag
[self.navigationController.navigationBar setShadowImage:[UIImage imageNamed:@"navigationbarshadow.png"]];
Run Code Online (Sandbox Code Playgroud)
在我启动我的应用程序时看到的视图中,没有显示阴影.但是当我触摸导航栏中的[+]按钮打开我的" 添加新项目 "表格视图时,它确实会显示阴影.
有人能指出我在正确的方向吗?
外观代理应该工作.
只需在启动时调用它(例如在AppDelegate中).
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self customizeAppearance];
return YES;
}
- (void) customizeAppearance
{
// Set the background image for *all* UINavigationBars
[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navigationbarbackground"] forBarMetrics:UIBarMetricsDefault];
// Set the shadow image for *all* UINavigationBars
[[UINavigationBar appearance] setShadowImage:[UIImage imageNamed:@"navigationbarshadow.png"]];
//add other appearance stuff here...
}
Run Code Online (Sandbox Code Playgroud)
但是,如果你创建一个包含多个UINavigationController的故事板和一堆segue推送导航控制器,你可能会得到一个腐败的视图控制器结构,这可能是这里的问题.
另一个可能的问题可能是Clip Subviews在您的nib文件或故事板中的某个位置选择导航栏.如果你想要阴影(图像),请确保它已关闭!

顺便说一句,如果您使用imageNamed,则不需要包含文件扩展名.
| 归档时间: |
|
| 查看次数: |
4161 次 |
| 最近记录: |