objective-c - 无法在 iOS SDK 中自定义 UINavigationBar 的外观 :

标签 objective-c ios image background uinavigationbar

我正在尝试自定义导航变量的外观,它通过我的应用程序出现了几次(仅供引用:我正在使用 Storyboard)。由于某种原因,Th 应用程序无法运行(它卡在线路中:

return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));

在 main.m 文件中,显示“线程 1:信号 SIGABRT”。

我写的代码是这样的:

UIImage * TabBarBG = [UIImage imageNamed:@"TabBarBG.png"];
[[UITabBar appearance] setBackgroundImage:TabBarBG];
[[UINavigationBar appearance] setBackgroundImage:TabBarBG];

顺便说一句,选项卡栏的自定义效果非常好,我已经尝试使用导航栏的不同图片,但为了简单起见,它不在这里!

上面的代码位于appDelegate类的一个名为“customizeInterface”的方法中,并且是从同一个类(appDelegate)的didFinishLaunchingWithOptions方法中调用的。

关于为什么会发生这种情况以及我能做些什么来让它发挥作用有什么想法吗?

欢迎任何评论!

最佳答案

UINavigationBar 的外观 API 不支持名为 setBackgroundImage: 的方法。但它确实支持名为 setBackgroundImage:forBarMetrics: 的方法。所以尝试一下:

[[UINavigationBar appearance] setBackgroundImage:TabBarBG forBarMetrics:UIBarMetricsDefault];

关于objective-c - 无法在 iOS SDK 中自定义 UINavigationBar 的外观 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11347865/

相关文章:

html - 如何垂直对齐列表或 div 中的图像?

iphone - 在 Objective-C 中以编程方式检测 youtube 视频链接

ios - 在 Swift 中将 NSLog 重定向到文件不起作用

iphone - UIImageView 转换缩放

iphone - Apple 推送通知不适用于分发,但适用于开发

ios - 无限宽度水平 ScrollView 以显示图像

java - 可点击的图像按钮

android - 通过 WiFi 将图像从 Android 发送/保存到 Windows 时数据过多

iphone - 获取 UIView 的容器/UIViewController

iphone - 从 plist 的数据加载给我错误顺序的值