iOS开发 - 第05篇 - 项目 - 03 - 版本新特性 & OAuth授权
来源:互联网 发布:德国世家知乎 编辑:程序博客网 时间:2024/04/28 23:57
1、版本新特性
1.1 界面
程序第一次启动的时候会弹出新特性界面,之后启动不会出现。
1.2 实现思路
1> 新建一个HWNewfeatureViewController(继承自UIViewController)
2> 先将其设置为整个程序的根控制器,用于演示
3> 使用UIScrollView
4>添加UIPageControl
5> 设置UIScrollView代理,监听滚动,设置UIPageControl
2、控制器切换
2.1 一个View中显示其他控制器的View
新建一个HMTestViewController(继承自UITableViewController),放上测试数据,再将其添加到另一个控制器的View中
注1:上述代码并不会将HMTestViewController的测试数据显示到当前控制器的View中,原因:HMTestViewController创建好后是局部变量,代码执行完就销毁,尽管HMTestViewController的View会被添加到当前控制器的View中,但是数据源代理是HMTestViewController,已被销毁,因此没有人给tabView提供数据!
注2:解决办法:强指针引用HMTestViewController
注3:如果发现控制器的view还在,但是view上面的数据不显示,极大可能是因为控制器被提前销毁了
注4:若一个控制器销毁,但是其View还没有被销毁,会非常危险!!!因为一个控制器通常用来监听View的事件,一旦控制器被销毁,View需要处理事件的时候就会造成坏内存访问!!!
2.2 控制器切换界面
点击不同按钮,可以切换不同的控制器显示在同一个View上
2.3 实现思路
1> 懒加载三个控制器,设置每个控制器的View的frame
2>点击按钮,添加到View中,注意先移除之前的View,防止一直添加
2.4 类似应用
注1:一个控制器的view是可以随意调整尺寸和位置的
注2:一个控制器的view是可以随意添加到其他view中
注3:如果将一个控制器的view,添加到其他view中显示,那么要想办法保证控制器不被销毁
注4:原则:只要view在,view所在的控制器必须得在,这样才能保证view内部的数据和业务逻辑正常
3、-568h@2x图片的加载
第1节版本新特性,启动显示全屏图片的屏幕适配问题!
注1:只适用于启动时的全屏图片加载!
Universal:iPhone和iPad,这里可以取消!
注2:只有全屏的图片需要关注屏幕适配问题,其他像按钮图片可以通过拉伸来解决!
4、tabBar的使用注意 --- 重要
5、按钮的使用细节
5.1 界面
版本新特性最后一页
5.2 实现思路
注:EdgeInsets
contentEdgeInsets:会影响按钮内部的所有内容(imageView和titleLabel)
titleEdgeInsets:只影响按钮内部的titleLabel
imageEdgeInsets:只影响按钮内部的imageView
6、控件看不见的可能
7、新版本判断
新特性最后一页,点击开始微博
8、OAuth授权
8.1 基本概念
OAuth(开放授权)是一个开放标准。
允许第三方网站在用户授权的前提下访问在用户在服务商那里存储的各种信息。而这种授权无需将用户提供用户名和密码提供给该第三方网站。
OAuth允许用户提供一个令牌给第三方网站,一个令牌对应一个特定的第三方网站,同时该令牌只能在特定的时间内访问特定的资源。
参考网址:点击打开链接 点击打开链接
8.2 加载登录界面
注:需要修改AFN源代码(支持响应头)
- iOS开发 - 第05篇 - 项目 - 03 - 版本新特性 & OAuth授权
- iOS开发 - 第05篇 - 项目 - 04 - OAuth授权 & 首页
- 【iOS开发系列】版本新特性界面
- 献给初学iOS的小盆友们——微博app项目开发之六OAuth授权
- iOS-OAuth授权
- iOS开发:第一次打开App 时展示版本新特性
- iOS开发之OAuth 授权的实现方式
- ios-OAuth授权和SSO授权
- iOS开发实用技巧篇—项目新特性页面的处理
- iOS 开发APP时版本更新,版本新特性的设置
- iOS开发 Swift3新特性
- ios开发-------- Xcode9新特性
- iOS 新特性的设置版本配置
- iOS不同版本的新特性小结
- iOS新浪微博客户端开发(2)——OAuth授权
- iOS新浪微博客户端开发(2)——OAuth授权
- 新浪微博开发OAuth授权注意事项
- 开放平台OAuth 2.0授权开发实践
- python简单爬虫爬取队列的实现
- bzoj3223 文艺平衡树
- NodeJS入门篇---Express+MongoDB实现blog----《NodeJS开发指南》爬坑
- 玩转redis
- SOLARIS10系统开启telnet/FTP/更改主机名称/网卡IP地址
- iOS开发 - 第05篇 - 项目 - 03 - 版本新特性 & OAuth授权
- 十道海量数据处理面试题与十个方法大总结
- 76.Which statement is true about a whole consistent database backup on a database running in ARCHIVE
- CSR1010定时器的使用
- 数组问题练习
- java 基础知识——数据
- JMeter监控内存及CPU ——plugin插件监控被测系统资源方法
- Hive中的正则表达式
- java反射