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

标签 uinavigationcontroller custom-controls uinavigationbar xcode4.2 storyboard

我正在使用 Storyboard 创建 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;
}

但我有几个错误,如下所示!

对于这一行:
SelectClientNavController *controller = (SelectClientNavController *)navigationController.topViewController;

1.预期表达

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

3. 使用未声明的标识符“ Controller ”

对于这一行:
controller.managedObjectContext = self.managedObjectContext;

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

2. 使用未声明的标识符“ Controller ”

如何修复上述错误。

最佳答案

我也需要很快做到这一点,所以这里是:你不能在 Storyboard中做到这一点。代码最好放在您的应用程序委托(delegate)实现文件 (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;
}

其中“yourBackGroundImage.png”是您的图像。确保您已将图像添加到项目中。

我相信这仅适用于 IOS 5。

关于uinavigationcontroller - xcode4.2 (storyboard, Navigation Controller) 如何为 UINavigationBar 设置自定义图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8375092/

相关文章:

iphone - 如何使用自定义后退按钮返回到上一个 View Controller ?

c# - Windows 8 需要创建向导自定义控件

objective-c - 如何使我的导航栏统一半透明?

ios - 以编程方式创建带有后退按钮的导航 Controller

ios - 使用 swift 的 DestinationViewController Segue 和 UINavigationController

ios - 为什么我不应该修改 UINavigationController 的工具栏?

Android - Seekbar 自定义进度缩放

jquery - 如何避免 tagit() 插件中的自定义条目

swift - UINavigationBar 中的 searchBar isHidden 后获取标题

ios - 导航 Controller 中的单独导航栏高度与导航栏高度