ios 使用xcode11 新建项目工程的步骤详解

xcode11新建项目工程,新增了scenedelegate这个类,转而将原Appdelegate负责的对UI生命周期的处理担子接了过来。故此可以理解为:ios 13以后,Appdelegate负责处理App生命周期,scenedelegate负责处理UI生命周期的处理。

1.使用scenedelegate(iOS 13以下黑屏)

如果创建app支持的最低版本是ios13,可以考虑直接使用。

举例使用系统底部栏:

- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions API_AVAILABLE(ios(13.0)){

 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

 //1.创建Tab导航条控制器
 UITabBarController *tabControl = [[UITabBarController alloc] init];
 tabControl.tabBar.barStyle = UIBarStyleBlack;

 //2.创建相应的子控制器(viewcontroller)
 ViewController *control = [[ViewController alloc] init];
 control.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"first" image:[UIImage imageNamed:@"icon_contact_normal"] selectedImage:[UIImage imageNamed:@"icon_contact_normal"]];
 UINavigationController * nav = [[UINavigationController alloc]initWithRootViewController: control];

 ViewController2 *control2 = [[ViewController2 alloc] init];
 control2.tabBarItem = [[UITabBarItem alloc] initWithTitle:@"first" image:[UIImage imageNamed:@"icon_contact_normal"] selectedImage:[UIImage imageNamed:@"icon_contact_normal"]];
 UINavigationController * nav2 = [[UINavigationController alloc]initWithRootViewController: control2];

 //将Tab导航条控制器设为window根控制器
 self.window.rootViewController = @[nav, nav2];

 //显示window
 [self.window makeKeyAndVisible];

}

2.如果要适配iOS 13以下的设备,需要把相关的scenedelegate删掉才能正常使用。分四个步骤:

第一步: 删除 Info.plist 里面的 SceneDelegate 配置信息

第二步:删除 SceneDelegate 类文件

第三步:还原 AppDelegate 的 UIWindow 属性。

第四步:删除 AppDelegate.m 中的方法

至此,可以像往常一样在 AppDelegate类中的 didFinishLaunchingWithOptions 方法中写UI 执行代码。

总结

到此这篇关于ios 使用xcode11 新建项目工程的步骤详解的文章就介绍到这了,更多相关ios xcode11 新建项目工程内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2020-04-11

iOS13 适配和Xcode11.0踩坑小结

iOS13中presentViewController的问题 更新了Xcode11.0 beta之后,在iOS13中运行代码发现presentViewController和之前弹出的样式不一样. 会出现这种情况是主要是因为我们之前对UIViewController里面的一个属性,即modalPresentationStyle(该属性是控制器在模态视图时将要使用的样式)没有设置需要的类型.在iOS13中modalPresentationStyle的默认改为UIModalPresentationAu

Angular 4.X开发实践中的踩坑小结

本文主要给大家分享了关于Angular 4.X开发中与到的一些踩坑经验,分享出来供大家参考学习,下面来一起看看详细的介绍: 一.使用ngIf或者ngSwitch出错 在html文件中使用ngIf或者ngSwitch时,会解析出错,错误提示如下: Error: Template parse errors: Can't bind to 'ngSwitch' since it isn't a known property of 'div'. 这个是因为没有在此Component所在的Module中导入

webpack@v4升级踩坑(小结)

之前看到各大公众号都在狂推 webpack 新版发布的相关内容,之前就尝试了升级,由于部分插件的原因,未能成功,现在想必过了这么久已经可以了,今天就来试一下在我的项目中升级会遇到哪些坑. 查阅更新日志 在安装更新之前,先大致浏览了一下更新日志,对大部分用户来说迁移上需要注意的应该就是这些点: 在命令行界面运行打包指令需要安装 webpack-cli : 打包需要指定打包模式 production or development ,在不同模式下会添加不同的默认配置, webpack.DefinePl

Weex开发之WEEX-EROS开发踩坑(小结)

随着Weex跨平台技术的持续火热,一时间涌现出了一大批基于Weex的开源解决方案,Weex Eros就是这么一个面向前端Vue的开源APP解决方案. 目前,如果直接使用Weex框架开发应用会存在很多痛点,诸如初始化启动的环境问题.项目工程化问题.版本升级与版本兼容问题和不支持增量更新等,而Weex Eros等开源解决方案能对上述问题进行有效的解决. Weex Eros的定位不是组件库,而是基于Weex封装的面向前端Vue的一整套APP开源解决方案,它关心的是整个APP项目.在Weex的强大支持下

VuePress 快速踩坑小结

最近有个开源项目非常火,那就是尤小右开发的 VuePress,VuePress 可以让您非常方便的在 Markdown 文档中编写 Vue 代码,并且 VuePress 对编译后的 HTML 文件做了一些针对搜索引擎的优化.另外 VuePress 针对 Markdown 文件做了一些扩展使其功能更加强大,本文将围绕搭建一个 Github 的静态博客展开. 为项目加入 VuePress 第一步为您的项目安装 VuePress,如果您的项目代码中并没有 package.json文件,请先执行 npm

适配Android 8.0版本更新安装与通知栏的一些坑

前言 Android 8.0系统更新之后,app的更新将不再像之前的系统版本一样能够直接下载安装包之后直接安装(以前安装未知来源应用的时候一般会弹出一个弹窗让用户去设置允许还是拒绝,并且设置为允许之后,所有的未知来源的应用都可以被安装),8.0需要用户给予允许app安装未知来源应用的权限(比如你的app 名字为A,当你需要更新时,则需要使用app的用户 授权A这个app 允许安装未知来源的权限,才能完成正常的更新操作). Android8.0的变化是,未知应用安装权限的开关被除掉,取而代之的是未

mpvue开发音频类小程序踩坑和建议详解

这是我第一次开发小程序,开发的产品是音频类的,在大佬的建议下采用了 mpvue ,一周时间把功能都做出来,由于不太熟悉mpvue和微信小程序,足足用了一周时间来改bug才出来一个能用的版本,在这里整理分享下我开发时遇到的一些问题和给出一些建议. 在 Linux 上开发小程序 在公司电脑装了双系统,日常用的是 Ubuntu 系统,Linux或Mac的开发环境对前端相对来说会友好一些.微信小程序官方的开发者工具只有 Windows 和 Mac 版本,所以这就尴尬了. 不过还好,发现已经有大神在Git

iOS13适配深色模式(Dark Mode)的实现

好像大概也许是一年前, Mac OS系统发布了深色模式外观, 看着挺刺激, 时至今日用着也还挺爽的 终于, 随着iPhone11等新手机的发售, iOS 13系统也正式发布了, 伴随着手机版的深色模式也出现在了大众视野 我们这些iOS程序猿也有事情做了, 原有项目适配iOS13系统, 适配Dark Mode深色模式 虽然现在并没有要求强制适配Dark Mode, 但是DarK适配却也迫在眉睫 Apps on iOS 13 are expected to support dark mode Use

jQuery版本升级踩坑大全

背景 -------------------------------------------------------------------------------- jQuery想必各个web工程师都再熟悉不过了,不过现如今很多网站还采用了很古老的jQuery版本.其实如果早期版本使用不当,可能会有DOMXSS漏洞,非常建议升级到jQuery 1.9.x或以上版本.前段时间我就主导了这件事情,把公司里我们组负责的项目jQuery版本从1.4.2升级到了jQuery 1.11.3.jQuery官

详解Vue微信公众号开发踩坑全记录

本文介绍了Vue微信公众号开发踩坑全记录,分享给大家,也给自己留个笔记. 需求 微信授权登录(基于公众号的登录方案) 接入JS-SDK实现图片上传,分享等功能 现状及难点 采用的Vue框架,前后端分离模式(vue工程仅作为客户端),用户通过域名访问的是客户端,但是微信授权中涉及签名和token校验依赖服务端 JS-SDK需要向服务端获取签名,且获取签名中需要的参数包括所在页面的url,但由于单页应用的路由特殊,其中涉及到IOS和android微信客户端浏览器内核的差异性导致的兼容问题 解决方案