前些天把iPhone的系统升级到了ios 7.1,于是乎,也就得把XCode也升级到5.1了,花了好几个小时,终于升级好了。但是当打开之前在XCode 5.0.1下开发的项目的时候,发现不仅仅项目出现了很多的警告,而且在导航栏上面的UISearchBar也出现问题了,看下图:
出现问题的UISearchBar
之前在ios SDK 7.0下面正常的情况应该是没有黑色的背景的,只需要如下代码即可设置:[searchBar setBarTintColor:[UIColor clearColor]];如下:
正常的UISearchBar
看来升级到ios SDK7.1的时候还是会有些问题的,也不知道是不是一个bug,但是没有办法只好找找解决方案,最后,可以参照如下两种方案解决:
1、设置searchBarStyle: searchBar.searchBarStyle = UISearchBarStyleMinimal,效果如下:
设置了BarStyle的UISearchBar
这个效果勉强可以凑合,但是却不是想要的;
2、第二种方法自然是设置UIsearbar的背景图片了,其实如果一开始直接让Designer提供一个背景图片,那自然是不会有任何问题的了,但是,在没有提供图片的情况下,也还是有办法解决的:
[Objective-C] 纯文本查看 复制代码 searchBar.backgroundImage = [self imageWithColor:[UIColor clearColor]];
- (UIImage *)imageWithColor:(UIColor *)color
{
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
最终效果就和在ios SDK 7.0下面是一样的了:
最后,附上这个免费的旅游类App的App Store下載地址以及官方Facebook专页,支持iPhone、iTouch以及iPad,有兴趣的小伙伴可以下载玩一下给出指导意见,共同学习与进步。
|