【发布时间】:2013-10-04 10:57:04
【问题描述】:
有没有办法让 iOS 6 中的导航栏元素(后退按钮)看起来像 iOS 7 中的导航栏元素? 还有按钮和其他 iOS 7 UI 元素。
【问题讨论】:
-
IOS 6可以自定义工具栏
-
我知道,但有没有更简单的方法?例如,我需要在后退按钮中使用图像使其看起来像 iOS 7
标签: ios6 ios7 uinavigationbar
有没有办法让 iOS 6 中的导航栏元素(后退按钮)看起来像 iOS 7 中的导航栏元素? 还有按钮和其他 iOS 7 UI 元素。
【问题讨论】:
标签: ios6 ios7 uinavigationbar
我建议不要将代码放入您需要自定义的每个视图控制器中,而是通过将类似这样的内容放入 App Delegate 中的 application:didFinishLaunchingWithOptions: 方法来为整个应用程序执行此操作
// Nav bar
[[UINavigationBar appearance] setBackgroundImage:[[UIImage imageNamed:@"navBar.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(10, 5, 10, 5)] forBarMetrics:UIBarMetricsDefault];
// Back buttons
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:[UIImage imageNamed:@"backNavButton.png"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
// Toolbar
[[UIToolbar appearance] setBackgroundImage:[[UIImage imageNamed:@"toolbar.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(10, 5, 10, 5)] forToolbarPosition:UIToolbarPositionAny barMetrics:UIBarMetricsDefault];
【讨论】:
resizableImageWithCapInsets 方法),以便它们可以根据内容扩展/收缩后退按钮文字说
UIImage *backImg = [UIImage imageNamed:@"navback.png"]; UIImage *resizableBackImg = [backImg resizableImageWithCapInsets:UIEdgeInsetsMake(0, 12, 0, 1)];//top,left,bottom, right; [[UIBarButtonItem appearance] setBackButtonBackgroundImage:resizableBackImg forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
你可以像这样设置背景图片来自定义导航栏
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"topbar.png"] forBarMetrics:UIBarMetricsDefault];
您可以像这样使用 setLeftBarButtonItems 方法添加自定义栏。
[self.navigationItem setLeftBarButtonItems:];
【讨论】: