xcode4.2(storyboard,Navigation Controller)如何为UINavigationBar设置自定义图像

Mon*_*onk 4 custom-controls uinavigationbar storyboard uinavigationcontroller xcode4.2

我正在使用故事板创建iPhone应用程序.我不知道如何为UINavigationBar设置自定义图像.

请教我如何做到这一点.我不是程序员而是设计师.

非常感谢你给我你很好的代码.

我把代码放到我的" MainAppDelegate.m "

   - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController;
    SelectClientNavController *controller = (SelectClientNavController *)navigationController.topViewController;
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"yourBackGroundImage.png"] forBarMetrics:UIBarMetricsDefault];
    controller.managedObjectContext = self.managedObjectContext;
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

但我有几个错误,如下!


对于这一行:

SelectClientNavController *controller = (SelectClientNavController *)navigationController.topViewController;
Run Code Online (Sandbox Code Playgroud)

1.期待的表达

2.使用未声明的标识符'SelectClientNavController'

3.使用未声明的标识符'controller'


对于这一行:

controller.managedObjectContext = self.managedObjectContext;
Run Code Online (Sandbox Code Playgroud)

1.在'MainAppDelegeate ' 类型的对象上找不到属性'managedObjectContext '*

2.使用未声明的标识符'controller'


如何修复上述错误.


T.J*_*.J. 5

我也很快就要做到这一点所以这就是:你不能在故事板中做到这一点.代码最好放在您的应用程序委托实现文件(AppDelegate.m)中..找到方法" - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions"并将其更改为如下所示.您只需添加一行代码.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    UINavigationController *navigationController = (UINavigationController *)self.window.rootViewController; // this line is probably already there for you
    [[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"yourBackGroundImage.png"] forBarMetrics:UIBarMetricsDefault]; //this adds the image
    return YES;
}
Run Code Online (Sandbox Code Playgroud)

"yourBackGroundImage.png"是你的形象.确保已将图像添加到项目中.

我相信这只适用于IOS 5.