ios navigationbar不覆盖状态栏 iphone7的导航栏高度应为像素?
iphone7的导航栏高度应为像素?
界面尺寸规范
1、界面尺寸大小是:750x1334px。
2、状态栏(statusbar):就是电量条,其一定高度为:40px
3、导航栏(navigation):是顶部条,其一定高度为:88px
4、主菜单栏(submenu,tab):那是标签栏,底部条,其垂直距离为:98px
5、内容区域(content):那是屏幕中间的区域,其高度为:1334px-40px-83px-98px1108px
iOS如何把所有界面的状态栏的字体颜色都设置为白色?
状态栏的字体为黑色:UIStatusBarStyleDefault
状态栏的字体为灰色:UIStatusBarStyleLightContent
一、在中,将Viewcontroller-basedstatusbarappearance设为yes
状态栏字体的颜色只由下面的属性设定,设置为灰色:
//defaultisUIStatusBarStyleDefault
[UIApplicationsharedApplication].statusBarStyle
解决的办法大多数vc中状态栏字体颜色相同的办法
1、在中,将Viewcontroller-basedstatusbarappearance设为NO.
2、在appdelegate中:
[UIApplicationsharedApplication].statusBarStyleUIStatusBarStyleLightContent
3、在个别状态栏字体颜色不一样的的vc中
-(void)viewWillAppear:(BOOL)animated{
[UIApplicationsharedApplication].statusBarStyleUIStatusBarStyleDefault
}
-(void)viewWillDisappear:(BOOL)animated
{
[superviewWillDisappear:animated]
[UIApplicationsharedApplication].statusBarStyleUIStatusBarStyleLightContent
}
二、在中,将Viewcontroller-basedstatusbarappearance设为no,或者没有设置里。
Viewcontroller-basedstatusbarappearance的默认值应该是okay。
如果Viewcontroller-basedstatusbarappearance为yeah。
则[UIApplicationsharedApplication].statusBarStyle不能解除。
用下面的方法:
1、在vc中写回vc的preferredStatusBarStyle方法。
-(UIStatusBarStyle)preferredStatusBarStyle
{
returnUIStatusBarStyleDefault
}
2、在viewDidload中调用:[selfsetNeedsStatusBarAppearanceUpdate]
不过,当vc在nav中时,上面方法没有用,vc中的preferredStatusBarStyle方法根本不会你不被动态创建。
原因是,[selfsetNeedsStatusBarAppearanceUpdate]能发出后,
只会动态创建navigationcontroller中的preferredStatusBarStyle方法,
vc中的preferredStatusBarStyley方法跟本绝对不会被动态创建。
好的办法有两个:
方法一:
可以设置navbar的barStyle属性会影响statusbar的字体和背景色。:。
//statusbar的字体为白色
//导航栏的背景色是黑色。
//statusbar的字体为黑色
//导航栏的背景色是灰色,状态栏的背景色也灰色。
方法二:
下拉菜单一个navbar的子类,在这个子类中写回preferredStatusBarStyle方法:
MyNav*nav[[MyNavalloc]initWithRootViewController:vc]
@implementationMyNav
-(UIStatusBarStyle)preferredStatusBarStyle
{
UIViewController*
return[topVCpreferredStatusBarStyle]
}
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。