自定义登入注册界面(xib)
- 模块划分,添加占位视图(view)
- 最好分模块设计, 有利于需求变动时更改
- 这里分成三个模块, 上中下
- 上面模块,直接添加
- 中间模块,xib自定义登入注册View
- 自定义复用性好, 可以在其他地方用
- 注意: 按钮再点击的时候有一闪一闪的效果是 system 样式才有
- 提供类方法快速创建
- 重写
awakeFromNib 从xib加载就会调用,就会把xib所有的属性全部设置
- 一个xib中有多View , 代码量少
- 注意加载的时候分清加载的数组中的哪个
- 登入和注册View的父控件View的宽度是屏幕的的两倍, 分别添加两个view并给设置位置尺寸,分别在左右两边, 只要移动父控件View就可以达到左右切换登入和注册的两个View
- 在viewDidLoad中加载xib创建登入和注册View
- 实现登入和注册两个view的界面切换
- 修改中间容纳登入和注册view的父控件的的左对齐约束,并实现动画效果
- 注意: xib约束的动画调用的是
layoutIfNeeded方法重新布局容器父控件
- 注意: 默认一个View的xib加载, 尺寸和xib一样,因此必须给登入和注册都要设置尺寸, 做好屏幕适配
- 注意:
viewDidLayoutSubviews方法中布局子控件,既是执行约束之后,在这个方法中里面尺寸才是最准确.
- 当两个东西的相似度较高,业务逻辑一样, 就用同一个类管理
- 底部模块, xib自定义快速登入View
- 添加三个快速登入按钮, 自动布局三个按钮登高等宽
- 自定义按钮,重写
layoutSubviews方法,布局内部子控件文字和图片的位置尺寸
- 注意: 文字显示不出来, 是label尺寸不够, 要label的宽度>=文字的宽度 (有多种方法)
- 这里使用: 调用sizeToFit 方法即可给label的宽度自适应;