iOS 17:项目实战:彩票

项目:彩票

  • 核心动画,常用核心动画绘制。
  • 模拟器和真机的尺寸,跟启动画面有关。
  • launchScreen 底层实现是:截屏,显示的是一张图片,在文件夹中可以看到。
  • UITabBarController的view不是懒加载,而是在创建底座控制器的时候加载,与UIViewController不一样。
  • 封装控件最好用代理去实现,这样可以实现多种代理方法。
  • 导航条专门有存放背景的view,高度为64,控制器的view往下移。
  • 使用自定义控件的时候,尽量模仿苹果系统本身的实现,例如UITabBar。
  • @property,如果在分类里面只会生成get、set方法的声明,并不会生成成员属性。
  • 使用思维导图 MindNode 进行项目流程管理
  • 判断当前用户有没有最新版本;如果是YES,就展示新特性界面;如果是NO,就展示核心界面。
  • 类方法: + (void)initialize 只调用一次。 + (void)load 也只调用一次,在程序启动main函数之前调用。
  • [UINavigationController appearance] 获取当前应用下所有的控制器。统一风格,没有个性化,而且会设置系统的导航条(比如照片库),可能会造成一定的bug,不建议使用此方法。appearanceWhenContainedIn,获取当前类所有的控制条。
  • UICollectionView
    • 类似于九宫格,已经做好了循环利用,继承与UIScrollView。cell的尺寸自己设置,比tableView更加强大。初始化必须要有布局设置,可以设置为流水布局:UICollectionView变窄了,cell会自动往下流。与之相对的是 瀑布流:cell 的高度宽度不一样。
    • 层次结构:控制器的 view + 上面还有一个 collectionView
    • 布局:可以设置滚动的方向,默认是垂直,也可以设置为水平。
  • 删除当前控件,提供一个思路:removeFromSuperView:
  • 程序运行时抛出异常,定义预览如下代码所示,当方法运行未达到要求时,程序崩溃抛出异常。
NSException *excp = [NSException exceptionWithName:@"items的总数不符合" reason:@"传入的数组总数必须是3的倍数" userInfo:nil];
[excp raise];
  • UIViewController 比 UIView有更多默认定义的属性。
  • 自动布局有点延迟,可以通过loadView: 或者画上去 draeRect:
  • loadView:,此时xib上所有的按钮都加载完毕,并已经连线。
  • 拉伸登录按钮的背景图片,可以采用strech属性。
  • 使用Mindnode思维导图,管理项目(非原创,老师给的)
iOS 17:项目实战:彩票_第1张图片
F1E2A1AB-2F2D-4659-9A2B-E9DA9A1021C7.png

你可能感兴趣的:(iOS 17:项目实战:彩票)