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中屏幕的起始坐标包括导航状态栏

解决方法:

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


相关文章
|
4月前
|
IDE API Android开发
安卓与iOS开发环境的差异及适配策略
在移动应用开发的广阔舞台上,Android和iOS两大操作系统各据一方,各自拥有独特的开发环境和工具集。本文旨在深入探讨这两个平台在开发环境上的关键差异,并提供有效的适配策略,帮助开发者优化跨平台开发流程。通过比较Android的Java/Kotlin和iOS的Swift/Objective-C语言特性、IDE的选择、以及API和系统服务的访问方式,本文揭示了两个操作系统在开发实践中的主要分歧点,并提出了一套实用的适配方法,以期为移动开发者提供指导和启示。
|
6月前
|
iOS开发
SwiftUI适配iOS16导航控制器引起的闪退
SwiftUI适配iOS16导航控制器引起的闪退
72 0
|
6月前
ios15从隐藏系统导航栏页面进入显示系统导航栏页面后,期望系统导航栏背景色为白色,但是导航栏背景变成黑色问题
ios15从隐藏系统导航栏页面进入显示系统导航栏页面后,期望系统导航栏背景色为白色,但是导航栏背景变成黑色问题
55 0
|
6月前
|
监控 iOS开发
iOS15适配问题:viewForSupplementaryElementOfKind表头和表尾复用闪退,UITableView section header多22像素等问题
iOS15适配问题:viewForSupplementaryElementOfKind表头和表尾复用闪退,UITableView section header多22像素等问题
93 0
|
小程序 开发工具 Android开发
Donut多端框架小程序打包适配ios和安卓app
腾讯新出了一个 Donut 多端框架,可以直接将微信小程序转成 ios 和 安卓 app,小程序开发者工具里也集成了 app 相关升级、调试和打包的功能,终于可以一套代码开发出3个客户端了!
255 0
Donut多端框架小程序打包适配ios和安卓app
|
安全 前端开发 开发工具
iOS12、iOS11、iOS10、iOS9常见适配
iOS12、iOS11、iOS10、iOS9常见适配
235 0
|
小程序 iOS开发
uniapp中IOS端小程序底部黑线适配的方法(整理)
uniapp中IOS端小程序底部黑线适配的方法(整理)
|
开发工具 iOS开发 开发者
iOS 暗黑模式的适配总结
iOS 暗黑模式的适配总结
|
iOS开发
iOS开发-导航栏标题动画
iOS开发-导航栏标题动画
199 0
iOS开发-导航栏标题动画
|
安全 iOS开发
iOS小技能:下拉刷新控件的适配
1. 下拉顶部背景色设置: 往tableView的父控件添加拉伸背景视图 2. present 半屏适配 iOS13 modalPresentationStyle属性默认不是全屏样式`UIModalPresentationFullScreen`,而是半屏样式,需要根据需求手动设置。 present 半屏,会导致列表下拉刷新失效。
207 0
iOS小技能:下拉刷新控件的适配