我正在開發一個遊戲,並希望有一個精靈套件場景有自己的視圖控制器(我已經達成了許多辯論後的結論),並且想要避免使用故事板(我可以用故事板完成我想要的,但想要學習如何在沒有故事板的情況下做到這一點)。如何將以編程方式創建的視圖控制器視圖設置爲SKView?
在我的主視圖控制器,點擊一個按鈕後,我有以下的代碼
MyViewController2 *test = [[MyViewController2 alloc] init];
test.view = [[SKView alloc] init];
[self presentViewController: test animated:YES completion:nil];
然而,這只是轉換成灰色屏幕,沒事就可以了(沒有覆蓋「 - (ID)初始化」然而)。下面的代碼會被調用,如果我重寫「 - (ID)初始化」在MyViewController2方法:
-(id)init
{
NSLog(@"init overwrite works");
SKView * skView = (SKView *)self.view;
SKScene2 *scene = [SKScene2 sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeFill;
[skView presentScene:scene];
return self;
}
,但它不會顯示,因爲我得到這個錯誤:
-[UIView presentScene:]: unrecognized selector sent to instance
我知道這是什麼錯誤的意思是(當前的場景只能由skView執行,並且不能由UIView執行),但即使當我創建ViewController並且在它的init中我將視圖設置爲只有SKView,我仍然會得到這個錯誤。我怎樣才能解決這個問題?感謝您的時間和幫助。