导航栏背景图片显示不全问题

当图片的尺寸跟导航栏背景图片所需图片尺寸大小不一致时,就会出现图片平铺显示的现象,解决办法如下:


CGSize navBarSize = self.navigationController.navigationBar.bounds.size;  //获取NavigationBar的位置和大小

navBarSize = CGSizeMake(navBarSize.width,navBarSize.height + 20);//加上状态栏的高度

UIImage *backgroundImage = IMAGE_NAME(@"icon_navigaitonbar");//原图片

UIGraphicsBeginImageContext(navBarSize);

[backgroundImage drawInRect:CGRectMake(0, 0, navBarSize.width, navBarSize.height)];

UIImage* scaledImage = UIGraphicsGetImageFromCurrentImageContext();//转换后图片

UIGraphicsEndImageContext();

[self.navigationController.navigationBar setBackgroundImage:scaledImage forBarMetrics:UIBarMetricsDefault];  //设置背景


参考自http://blog.csdn.net/a6472953/article/details/8528408

你可能感兴趣的:(导航栏背景图片显示不全问题)