首页 技术 正文
技术 2022年11月7日
0 收藏 808 点赞 332 浏览 1685 个字

简介

这是一个使用OC语言,从0使用纯代码方式开发一个iOS平台,接近企业级商业级的项目(我的云音乐),课程包含了基础内容,高级内容,项目封装,项目重构等知识;主要是讲解如何使用系统功能,流行的第三方框架,第三方服务,完成接近企业级商业级项目,目的是让大家,学到真正的企业级商业级项目开发技术。

效果图

安装环境和创建项目

就是使用Xcode,文档里面就不写了。

如何移出SceneDelegate

为什么要移出

  • 有SceneDelgate不能兼容低于iOS 13以下版本,而企业级项目,例如:目前的微信,QQ,抖音,大部分都是兼容到iOS 10,11,甚至有些兼容到9,所以需要学习如果移出,改为旧版本结构。
  • 同时目前公司里面,如果是旧项目,那肯定也就没有SceneDelgate。
  • 有些第三方项目,不兼容有SceneDelgate的项目结构。

移出有什么影响

SceneDelgate是在开发iPad分屏应用是才有实际功能,而我们课程讲解的是通用功能开发,所以没影响。

如何移出

只需要删除相关文件,也就是不使用SceneDelegate;方法如下:

  • 将AppDelegate中Scene生命周期方法删除,并把window属性从SceneDelegate拷贝过来。
  • 将SceneDelegate文件删除。
  • 在info.plist文件中,将Application Scene Manifest

然后重新编译项目就行了;跳转界面就是获取到AppDelegate跳转;移除后兼容的最低版本就可以更改为低于13了,在选中项目->选中Project->Deployment Target。

跳转逻辑

MyCloudMusicStoryboardRemoveSceneDelegate

例如:启动界面跳转逻辑:

[AppDelegate.shared toLoginHome];

实现启动界面布局和功能

布局

使用前面讲解的MyLayout框架实现,其实前面已经实现过了。

显示年

年份可以写死,也可以动态获取,然后显示。

NSInteger year = [SuperDateUtil currentYear];
copyrightView.text=[NSString stringWithFormat:@"Copyright %d Ixuea. All Rights Reserved",year];

实现字符串国际化

创建字符串文件

选中项目目录-New File-Strings File,名称必须为Localizable.strings。

提示:不国际化,也可以用这种方式将代码中字符串写到单独的文件,方便管理。

启用国际化

选中项目Project-Info,在Localiztion中,点击加号,添加要国际化的语言,例如默认有英语,这里添加一个中文简体,然后会弹出一个界面,选择要国际化的文件,这里都选择,最后点击完成;然后上面创建Localizable.strings文件,就可以展开,发现有两个文件,一个是中文简体,一个是英文。

添加字符串

现在要做的就是在这两个文件中添加字符串,这里就把项目中所有字符串全部拷贝过来,因为这个每次用到时再添加浪费时间。

获取字符串

NSString *result=NSLocalizedString(@"Copyright", @"");
result=[NSString stringWithFormat:result,year];
copyrightView.text=result;

如何实时生效

因为目前iOS系统更改语言后,会软重启,所以不存在需要在应用内处理实时生效问题。

应用名称国际化

虽然应用名称也是字符串格式化,但不能写到Localizable.strings,需要写到InfoPlist.strings文件中。

实现

创建InfoPlist.strings文件,并启用国际化,和前面国际化字符串差不多,只是文件名称不一样,name是固定的:

英文文件:

CFBundleName="CloudMusic";

中文简体文件:

CFBundleName="我的云音乐";

运行项目后,在回到桌面,可以看到名称确实实现了国际化。

下次更新全局颜色管理。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,082
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,556
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,406
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,179
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,815
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898