2

我正在使用以下代码来设置导航栏的背景:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"tile.png"] forBarMetrics:UIBarMetricsDefault];

这会产生一个漂亮的平铺背景,如您在此处看到的:

良好的背景

但是,当我打开 UIImagePickerController 时,背景会以某种方式扭曲,我们最终会得到这样的结果:

背景不好

有人对如何修复它有建议吗?

4

1 回答 1

0

拉伸而不是平铺:停止创建 UINavigationBar 类型的类

  1. 创建您的自定义 UINavigationBar 子类。

  2. 注释 initwithFrameMethod

  3. 添加方法 DrawRect:

    • (void)drawRect:(CGRect)rect { UIImage *image = [UIImage imageNamed:@"bluebackground.jpeg"]; [图像drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)]; }

4.在AppDelegate.m,AppliocationdidFinishLaunching中写入[self.navigationbar setValue:[[customBar alloc]init] forKeyPath:@"navigationBar"];

通过这种方式添加图像不会拉伸图像

请参阅此链接: http: //www.iosdevnotes.com/2011/09/custom-uinavigationbars-techniques/ http://designm.ag/tutorials/designing-a-custom-iphone-app-navigation-bar/

希望这会帮助你。

于 2013-07-08T04:47:41.167 回答