IOS7 导航栏适配

简介:

问题:

Appdelegate中

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    

    ViewController *VC=[[ViewController alloc]init];

    UINavigationController *nav=[[UINavigationController alloc]initWithRootViewController:VC];

    nav.view.backgroundColor = [UIColor blueColor];

    self.window.rootViewController=nav;

    return YES;

}

 在ViewController中:



- (void)viewDidLoad {

    [super viewDidLoad];

//    if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)])

//    {

//        self.edgesForExtendedLayout = UIRectEdgeNone;

//    }

//    self.navigationController.navigationBar.translucent=NO;

    self.view.backgroundColor=[UIColor clearColor];

    UIScrollView *segmentScorllView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 164, self.view.frame.size.width, 44)];

    segmentScorllView.backgroundColor=[UIColor greenColor];

    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

    [button setFrame:CGRectMake(0, 0, 50, 44)];

    [button setTitle:@"AAA" forState:UIControlStateNormal];

    [button setTitleColor:[UIColor blueColor] forState:UIControlStateSelected];

    [button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

    button.backgroundColor = [UIColor brownColor];

    [button.titleLabel setFont:[UIFont systemFontOfSize:15]];

    [segmentScorllView addSubview:button];

    [self.view addSubview:segmentScorllView];

}

运行效果:

 

理想运行结果:

原因:

在IOS7中屏幕的起始坐标包括导航状态栏

解决方法:

将上面代码的两个注释去除任一注释


相关文章
|
6月前
|
小程序 开发工具 Android开发
Donut多端框架小程序打包适配ios和安卓app
腾讯新出了一个 Donut 多端框架,可以直接将微信小程序转成 ios 和 安卓 app,小程序开发者工具里也集成了 app 相关升级、调试和打包的功能,终于可以一套代码开发出3个客户端了!
141 0
Donut多端框架小程序打包适配ios和安卓app
|
8月前
|
小程序 iOS开发
uniapp中IOS端小程序底部黑线适配的方法(整理)
uniapp中IOS端小程序底部黑线适配的方法(整理)
|
10月前
|
开发工具 iOS开发 开发者
iOS 暗黑模式的适配总结
iOS 暗黑模式的适配总结
|
iOS开发 Perl
iOS 屏幕比例适配
iOS 屏幕比例适配
iOS--设置系统导航栏右上角按钮不显示问题
iOS--设置系统导航栏右上角按钮不显示问题
200 0
|
iOS开发
iOS开发-导航栏标题动画
iOS开发-导航栏标题动画
166 0
iOS开发-导航栏标题动画
|
iOS开发
iOS开发 - 系统导航栏左右上角按钮如何不需要定义就可以添加小红点
iOS开发 - 系统导航栏左右上角按钮如何不需要定义就可以添加小红点
142 0
|
iOS开发
iOS开发 - 渐变导航栏终极版
iOS开发 - 渐变导航栏终极版
83 0
|
iOS开发
iOS - 用Masonry封装的slider,完全支持Masonry的适配
iOS - 用Masonry封装的slider,完全支持Masonry的适配
101 0
|
安全 iOS开发
iOS小技能:下拉刷新控件的适配
1. 下拉顶部背景色设置: 往tableView的父控件添加拉伸背景视图 2. present 半屏适配 iOS13 modalPresentationStyle属性默认不是全屏样式`UIModalPresentationFullScreen`,而是半屏样式,需要根据需求手动设置。 present 半屏,会导致列表下拉刷新失效。
162 0
iOS小技能:下拉刷新控件的适配