zoukankan      html  css  js  c++  java
  • 新浪项目笔记

    一、LaunchScreen
     LaunchScreen产生原因:代替之前的启动图片
     好处:
     1.可以展示更多的东西
     2.可以只需要出一个尺寸的图片。
     
     启动图片的优先级
     启动图片 < LaunchScreen.xib

     模拟器尺寸不对
     程序中碰见模拟器尺寸不对,马上去找启动图片,默认模拟器的尺寸由启动图片决定。
     
    二、程序启动原理
    1.创建UIApplication对象
    2.创建AppDelegate对象,并且成为UIApplication对象代理属性
    3.开启主允许循环:目的让程序一直跑起来
    4.加载info.plist文件,判断下info.plist文件里面有木有指定main.storyboard,如果指定,就会去加载main.storyboard
     
    main.storyboard底层实现
    1.初始化窗口
    2.加载storyboard文件,并且创建箭头指向的控制器
    3.把新创建的控制器作为窗口的跟控制器,让窗口现实

    三、如何加载storyboard文件
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
     
     // instantiateInitialViewController:默认加载箭头指向的控制器
     
    [storyboard instantiateInitialViewController];
     
     四、思想
     封装思想:如果以后项目中,有相同的功能,抽取一个类,封装好
     如何封装类:做到自己的事情全部交给自己管理。
     抽方法:一般一个功能就抽一个方法,以后开发中如果有相同的功能,找到对应的类就能找到功能
     
    五、苹果模型
    Item:就是苹果的模型命名规范
    tabBarItem:决定着tabBars上按钮的内容
    如果通过模型设置控件的文字颜色,只能通过文本属性(富文本:颜色,字体,空心,阴影,图文混排)
     
    六、在ios7之后,默认会把UITabBar上面的按钮图片渲染成蓝色,一般需要告诉图片保持最原始的图片,或者在image.xcassest里面设置render模式

    七、类的加载和初始化
     什么时候调用:程序一启动的时候就会把所有的类加载进内存
     作用:加载类的时候调用
    + (void)load
    {

    }
     
    // 什么调用:当第一次使用这个类或者子类的时候调用
    // 作用:初始化类
     + (void)initialize
    {
     
    }
     
    八、appearance方法
    appearance只要一个类遵守UIAppearance,就能获取全局的外观,UIView都可以获取所有的外观
     
    获取所有的tabBarItem外观标识
    UITabBarItem *item = [UITabBarItem appearance];
     
    self -> CZTabBarController
    获取当前这个类下面的所有tabBarItem
    UITabBarItem *item = [UITabBarItem appearanceWhenContainedIn:self, nil]
     
     九、利用KVC可以把系统readonly的属性修改
     
    十、UITabBar的items属性
     self.items UITabBarItem模型,有多少个子控制器就有多少个UITabBarItem模型
     
     十一:sizeToFit:默认会根据按钮的背景图片或者image和文字计算出按钮的最合适的尺寸
     
     十二:模型设计思想
      id:能调用任何对象的get,set方法,不能帮我们检查错误
     类方法:需要使用self创建对象

  • 相关阅读:
    Unix / 类 Unix shell 中有哪些很酷很冷门很少用很有用的命令?(转)
    5分钟用Spring4 搭建一个REST WebService(转)
    一本好看的书————《反欺骗的艺术——世界传奇黑客的经历分享》
    国内外从事CV相关的企业
    定积分解法
    c++中&amp;和&amp;&amp;有什么差别
    树莓派相关-树莓派串口配置方法
    Linux下df与du两个命令的差别?
    veridata实验举例(2)验证表BONUS与表SALGRADE两节点同步情况
    Java替代C语言的可能性
  • 原文地址:https://www.cnblogs.com/quwujin/p/4898330.html
Copyright © 2011-2022 走看看