zoukankan      html  css  js  c++  java
  • ipad开发小结

    
    
    项目小结
    1:布局的时候最后要用CGRectDivi..
    
    2:控制器的生命周期---->(init-->(当self.view==nil调用 loadView viewdidload)-->viewwillappear-->viewdidappear-->viewwilldisappear--->viewdiddisappear.
    
    3:布局的时候contentview中如果用输入控件最后放一个UIScrollview.
    
    4:推送的原理
    1:客户端向ASPNS注册推送消息
    2;   如果注册成功,ASPNS向客户端发送一个device token
    3:   客户端接受到APNS发过来的device token,发给服务器
    4:服务器吧消息和device token 一起发送给APSN,然后APSN想服务器推送信息。
    
    5:tableview要封装起来,做特效的时候,最好弄一个字典和缓存

    viewwillAppear-->viewDidLayoutsubview--->viewDidAppear.
    6:调用viewDidLayoutSubview函数
    一下两个条件变化会调用viewDidlayOutSubview.
    1:self.view的frame和bounds发生变化。
    2:直接在self.view上添加子view.
    因此性能考虑,子控件都在viewDidload添加控件最优方式
    1:最好一次性在viewDidLoad中添加完所有子控件(避免都次调用viewDidlayoutSubview)
    2:在不能一次要其他操作添加子控件,最好不要直接加到self.view上。可以加入到(scrollview-->contentview中)
    ipad开发中总结
    1:当程序启动的时候是横屏显示的时候。其中在加载view的时候,调用viewDidLoad方法时,其中self.view的frame始终是竖屏的坐标,在viewDidLoad里面就加子控件的时候就要调用子控件的autoresizingMask属性 (一般调整基本控件的位置)
    2:当加载viewDidLoad之后调用ViewDidLayoutsubviews进行调整子控件位置。此时调整view准确的位置(一般调整tableview控件)(当横竖屏切换和在当前控制器view上加子view,该方法会被调用)3:一般在抽取相同部分的时候,父类要高度抽象,一般把发送请求给子类去实现。返回的结构又父类自己完成 
    5:在使用tableview 一般都要进行封装,用view进行对tableview封装,最好不要直接使用。
  • 相关阅读:
    sdk 和 Open API 有什么区别
    分布式锁介绍
    K8s 资源更新机制详解 (ResourceVersion 与 patch)
    Pod 一直处于pending状态但是kubectl describe和logs都没有输出信息的原因
    CAP 理论详解
    kubebuilder中的controller:latest是什么镜像
    Codeforces Round #441 (Div. 1, by Moscow Team Olympiad)
    Matrix Tree 定理及证明
    Codeforces Global Round 15 题解
    Harbour.Space Scholarship Contest 2021-2022 (Div. 1 + Div. 2) 题解
  • 原文地址:https://www.cnblogs.com/gcb999/p/3259997.html
Copyright © 2011-2022 走看看