我正在使用 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/