以编程方式加载UIViewController子类时,如果您将任何文件命名为与子类不同的名称,则不会加载与该ViewController关联的任何nib.
自动加载的笔尖,而不通过一个字符串名来初始化的唯一途径,是确保您x.nib和class.swift具有相同的名称SubClass.
有没有解决的办法?
Mos*_*she 12
根据文档,您实际上可以加载基于nib的视图控制器,而无需将其命名为完全相同的东西.尽管匹配名称是最常用的方法,但还是有第二种情况,即使使用Swift也可以使用.
从文档:
如果使用nib文件存储视图控制器的视图,建议您在初始化视图控制器时明确指定该nib文件.
但是,如果未指定nib名称,并且未覆盖自定义子类中的loadView方法,则视图控制器将使用其他方法搜索nib文件.具体来说,它会查找具有适当名称(不带.nib扩展名)的nib文件,并在请求其视图时加载该nib文件.具体来说,它(按顺序)查找具有以下名称之一的nib文件:
如果视图控制器类名称以"Controller"结尾,如在MyViewController中,它会查找名称与类名称匹配的nib文件,而不是"Controller",如MyView.nib中所示.
它查找名称与视图控制器类名称匹配的nib文件.例如,如果类名是MyViewController,它将查找MyViewController.nib文件.
| 归档时间: |
|
| 查看次数: |
787 次 |
| 最近记录: |