当图片的尺寸跟导航栏背景图片所需图片尺寸大小不一致时,就会出现图片平铺显示的现象,解决办法如下:
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
网友评论