美文网首页
杂⑦碎八之--百思Demo Z4

杂⑦碎八之--百思Demo Z4

作者: Vampire_Jam | 来源:发表于2016-07-30 12:57 被阅读28次

    简述项目开发步骤

    1.查看需求文档,看整个app有哪些功能,预估开发时间

    2.查看原型图,了解App结构,确定一些模块  开始开发

    3.需要展示数据的时候,查看接口文档就能获取数据,调通接口

    4.打包测试

    项目开发流程,需要多练.总结就是转化过程,把项目的思想以及思路理顺.

    如何写总结:1.流程 2.知识点 3.为什么 思想   一个模块一个总结.

    修改tableView的分割线(全屏分割线)

    1.低于ios8.0的适配,需要进行一个判断,layoutMargins 属性是在ios8 以及以后的版本才有这个属性,所以需要做一个判断.

    2.工作经常使用的方法是:(重写cell的setFrame)

      分析tableView : cell 的高度由tableview 计算,是在一开始的时候就将cell的高度全部计算出来,保存起来.  tableView的滚动范围也是由tableview计算.

    验证:重写cell的setFrame方法,还原系统的做法,确定cell的高度已经全部计算出来,用到时直接取出来用.(断点验证)

    注意:一定要把cell的高度还原(如果你对cell之间进行间距约束的话,调整cell高度方法),不要影响cell的原本高度.

    在setFrame方法中,可以针对frame进行自定义的cell ,显示出我们想要的cell  (宽度减2*10,x + 10);

    3.业务逻辑:网络比较慢的时候  ,界面没有数据  ,添加提示,正在加载数据. SVP框架

    HUD指示器业务逻辑:当网络请求数据时,提示用户正在加载,当网络请求成功后,将HUD dismiss掉.

    当用户请求数据不成功时,用户点击返回按钮,释放view,需要将HUDdismiss掉,并且关闭网络请求.

    当前工程中的文件引用 ""   非本工程中的文件引用<>

    模拟网络延迟  dispatch    模拟请求不成功  延迟1000秒 或者 修改AFN中的Block调用.

    界面跳转回去,view被释放掉,不需要再请求数据了,因为没有界面让刷新,所以要把子线程中的网络请求给关掉.


    4.关注/登录界面

    xib描述,创建名称与类名相同,因为加载关注界面alloc init 会调用init with nib方法,而这个方法会先判断有没有实现loadview方法....

    xib 描述控制器必须进行的两个操作:①绑定类  ②拖线表示这个控制器的view我来描述

    lable 换行option + enter (storyboard/xib中的操作)

    如果本该有的图片线条没有显示,那么可能因为模拟器的原因.

    登录按钮的业务逻辑:modal出登录注册界面

    4.1.搭建界面

    占位视图思想

    复杂界面:化分结构,将在一块的控件添加到一个uiview容器中.(顶部,中间 ,底部)

    用xib描述一个view,添加到另一个xib描述的view上,是可行的.

    注意点:1.选中状态 和 正常状态 按钮    2.需求改变时,登录界面的可复用性,提高代码扩展性.  2.1登录界面创建一新的xib,单独描述,输入框背景可以看出这是两个textFile组合,但imageView不能添加子控件,所以,需要一个UIView包装. 2.2.修改登录按钮的圆角,在awakeFromNib中写,表示当前所有控件的属性都已经设置完毕,所以代码写这里面, 

    2.3美工提供的图片被拉伸的很严重,在awakeFromNib中拿到图片,设置可被拉伸的区域,赋值回去.

    2.4 注册view 与登录view的业务逻辑相似,一个类可以管理两个view,,一个xib中可以描述两个view,注意在xib中的顺序.2.5业务逻辑:点击注册按钮,将登录界面切换到注册界面,那么给这个注册界面添加动画,让注册界面从左侧插入, 父控件的宽度为两倍屏幕宽度,这样保证点击事件可以响应.2.6 做约束动画 ,然后需要对位置进行判断,判断约束的值.2.7登录界面光标/占位文字的设置,创建类,统一管理,一次性设置在awake设置;  2.8 占位文字的设置是在文本编辑的状态下才需要设置,所以需要去监听文本框什么时候开始编辑.delegate  target  通知  选择target  代理是一对一,且自己监听自己,不能用代理 2.9 业务逻辑:开始编辑,颜色改变  结束编辑,颜色恢复,一开始初始化一个文本颜色,之后可以方便恢复默认. 3.0 能不能快速设置占位文字颜色?  猜测,占位文字是不是lable类型.查看小面包,能查看出view的什么的类型(除此之外,还有一种运行时也可以查看某类的全部属性) 

    根据断点调试可以找到关于占位文字的私有属性,KVC修改属性.

    5.快速登录界面

    5.1局部view描述界面 5.2 按钮内添加图片文字默认就是左右的,如果想使用上下的按钮,必须自定义按钮  5.3 尺寸和中心点,先设置尺寸,再设置中心点,避免中心点位置偏差  5.4 自定义按钮,调整内部子控件的位置,lable的尺寸设置为自适应就可以显示原本输入的文字.

    使用Xib的注意点:

    1.如果一个控件通过xib描述加载,那么默认加载出来是xib尺寸,如果一个view通过xib加载,是否需要重新设置frame?    需要再次设置Frame.为了方便做屏幕适配,在viewDidLoadSubviews写代码

    2.在viewDidload设置子控件的位置和frame是否合适?

    layoutSubview是控件的方法,viewDidLoadSubviews是控制器的方法,这个方法的调用频率很高,所以创建view的代码不应该放到这里.这个方法里会真正执行约束.

    相关文章

      网友评论

          本文标题:杂⑦碎八之--百思Demo Z4

          本文链接:https://www.haomeiwen.com/subject/eahajttx.html