Ios 如何将xib文件设置为initialViewController?
因为我甚至无法成功地与故事板进行一次合并,所以我尝试切换到xib文件。我正试图像在故事板中一样将一个xib文件设置为initialViewController,所以首先我在故事板中禁用了该属性。下面是google的一些示例,我制作了一个扩展,应该返回一个xib文件:Ios 如何将xib文件设置为initialViewController?,ios,objective-c,xcode,swift,swift2,Ios,Objective C,Xcode,Swift,Swift2,因为我甚至无法成功地与故事板进行一次合并,所以我尝试切换到xib文件。我正试图像在故事板中一样将一个xib文件设置为initialViewController,所以首先我在故事板中禁用了该属性。下面是google的一些示例,我制作了一个扩展,应该返回一个xib文件: extension UIViewController { class func loadFromNibNamed(nibNamed: String, bundle : NSBundle? = nil) -> UIVie
extension UIViewController {
class func loadFromNibNamed(nibNamed: String, bundle : NSBundle? = nil) -> UIViewController? {
return UINib(
nibName: nibNamed,
bundle: bundle
).instantiateWithOwner(nil, options: nil)[0] as? UIViewController
}
然后从应用程序委托调用该类函数,并尝试将xib文件作为根视图控制器加载,如下所示:
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
let mainView = UIViewController.loadFromNibNamed("MainView")
//window?.addSubview(mainView!)
self.window?.rootViewController = mainView
return true
}
我的xib文件名是MainView.xib,我有一个UIView和一个MainViewController,MainViewController继承自ViewController,它仍然是空的:
无论我尝试什么,都会收到相同的错误消息:
Failed to instantiate the default view controller for UIMainStoryboardFile 'Main' - perhaps the designated entry point is not set?
您仍然将项目设置为使用Main.storyboard文件。在“项目/常规”选项卡中,需要清除此部分:
如果您这样做,您还需要自己创建UIWindow并设置应用程序代理的
窗口
属性,因为如果您不使用情节提要,则不会创建此属性。有关详细信息,请参阅 当我写下下面的答案时,我并没有像你们所说的那个样改变“常规”选项卡中的任何东西。我刚刚用设置rootviewcontroller的选项在main中编写了代码,并完成了启动。那么为什么我们需要像你说的那样清除主界面呢?多亏了你的帮助,我成功地启动了应用程序,但现在我有了一个黑屏,尽管我在自定义类中添加了一个带有白色色调的文本标签和一个viewControllermainViewController并删除了UIView。你能帮我开始与xib文件交互吗?因为这样会加载情节提要,如果没有入口点,你的情节提要是无效的。设置主界面值意味着在调用didFinishLaunchingWithOptions之前将加载情节提要。