IOS7 适配时导航栏变黑

当适配IOS的布局时遇到问题:导航栏和菜单栏后台会变黑色。
self.edgesForExtendedLayout = UIRectEdgeNone;

原因是系统默认这两个控件是半通明的。
解决方案:
self.navigationController.navigationBar.translucent = NO;
self.tabBarController.tabBar.translucent = NO;

时间: 2024-08-25 21:24:29

IOS7 适配时导航栏变黑的相关文章

ios iphone6&plus 导航栏 变高

问题环境: 1.xcode6.2工程代码 在xcode6.3 编译后 运行导航栏 变高: 解决方法: Images.xcassets  ----> LaunchImage---->右键--->new launch image-->适配 iphone6 &plus 尺寸: 注意:新建的 new launch image 可能名字是LaunchImage-1 :运行后导航栏还是变高:怎么回事了?想想 把LaunchImage-1改回LaunchImage就ok了

iOS7 UI兼容 导航栏按钮边距

转载自:http://www.cnblogs.com/maxfong/p/3375167.html iOS7之前的UI为: 而在iOS7中,由于设计方面的原因,使得UI变为: 修改的方法重写UINavigationItem的setLeftBarButtonItem和setRightBarButtonItem方法,使之与之前版本兼容: 代码如下: @interface UINavigationItem (margin) @end @implementation UINavigationItem (

让导航栏变透明,去掉导航栏下面的线

下面代码可以让导航栏变透明 [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsCompact];或者可以照一张透明的图片来填充也可以 隐藏导航栏下面的那根线navigationBar.shadowImage 这个方法不知为啥没用了 现在可以用下面这个代码这个代码是让下面那条线消失NSArray *list = self.navigationBar.

ios7以上自定义导航栏标题的字体大小及颜色的方法

自定义导航栏的字体和颜色,只需要自定义一个lable,然后将lable添加到导航栏的titleview中就可以了 代码如下 UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];//这个frame是初设的,没关系,后面还会重新设置其size. [label setNumberOfLines:0]; UIFont *font = [UIFont fontWithName:@"Arial" size:17]

让系统照片选择器的导航栏变蓝的代码

[imagePickerController.navigationBar setBackgroundImage:[UIImage imageNamed:@"account_bg"] forBarMetrics:UIBarMetricsDefault];

在隐藏导航栏的控制器中,调用UIIMagePickerController,出现导航栏变透明的问题

解决办法 #pragma mark - UIImagePickerController Delegate - (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated { // bug fixes: UIIMagePickerController

一些关于iOS系统导航栏与自定义导航栏的事情

关于系统导航栏是真的让人又爱又恨,爱的是苹果本身对这个控件的封装已经是很完美了,包括内存.美化.渐变动画等等,一般来说,基本上所有需求都可以满足的.但是你要知道什么东西到了中国,就会发生翻天覆地的变化,例如后台的数据并发.在国内奇葩的产品设计之下,导航栏也是面目全非,反正我看了比较著名的APP,发现他们的导航栏基本都是自定义,其中牵扯最大的问题就是导航栏自身的隐藏.颜色渐变. 其实通过APP运行时,你可以看到系统NavigationBar的分层.一个navigationBar是分很多层的,并非我

IOS7 导航栏适配二

ios7下的app都是全屏的,意思就是所有控制器的view默认都是从  屏幕的 (0,0)开始. 这时候用到导航栏时,往往会出现被导航栏挡住情况. 最明显的是用到tableView时,第一行的数据会被导航栏遮盖 两种解决方法: 一.在控制器下设置导航控制器的导航栏的translucent(半透明)属性为NO,translucent属性在ios6之前默认为no,而在ios7下的导航栏默认却是半透明的,为yes,所以该属性不会占据空间.前提是你不需要导航栏半透明效果. 二.在控制器下设置导航控制器的

关于ios7 以上版本 view被导航栏遮挡的问题 解决方案

1 self.edgesForExtendedLayout = UIRectEdgeNone; 如果导航栏是默认带磨砂透明效果的,使用了edgesForExtendedLayout可能会出现导航栏变不透明,这样切换时就会有明显的色差过度.因此 1 self.navigationController.navigationBar.translucent = NO; 添加这句即可解决.