2013-11-24 38 views
2

在WWDC視頻結束時(會話503,使用Sprite-Kit進行設計),演講者提到我們可以「使用標準的UIKit控件作爲SKView的子視圖」。我認爲這對創建一個帶有一些幫助文本和一些UIButtons的遊戲中間遊戲非常有用,但是我不能完全理解它。Sprite-Kit - 如何製作文本大小的彈出式菜單?

在我的場景的初始化,我嘗試一些簡單操作,如:

UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0,0,100,100)]; 
v.backgroundColor = [UIColor blueColor]; 
[self.view addSubview:v]; 

但似乎什麼都沒有。

是我想要做的可能嗎?

如果不是,您如何在遊戲中使用精靈套件創建文本大小的彈出式菜單?

回答

1

我有這個相同的問題。你需要做的是撥打

-(void) didMoveToView:(SKView *)view {} 

方法。這是當我認爲SKView即將被添加到UIView之上的時候。你可以將代碼放在那裏,它會顯示在你的場景中。

警告:我不知道,如果只認爲是加載或不出現,但是這就是我去一下

希望它有助於

+0

奇怪,我說我的代碼以「 - (空)didMoveToView:(SKView *)視圖」的場景的區域,仍然沒有出現藍色的UIView。我錯過了什麼嗎? –

+0

你在哪裏初始化/創建UIView?嘗試在該方法中完成所有操作,然後使用[self.view addSubview:view]添加UIView; – user2277872

+0

似乎現在工作,謝謝;) –

1

是的,這是可能的,因爲SKView是UIView的派生類。 所有你需要做的就是把上面的代碼移到 - (void)viewDidLoad(在ViewController.m文件中)。
因此,它應該是這樣的

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    UIView *v = [[UIView alloc] initWithFrame:CGRectMake(0,0,100,100)]; 
    v.backgroundColor = [UIColor blueColor]; 
    [self.view addSubview:v]; 
} 
+0

我試過這個代碼,它應用到主視圖控制器,但不是場景,所以它仍然不可見。我也嘗試在調用presentScene之前將視圖添加到我在viewDidLoad中創建的skview中,但不添加麪糰。 –