@interface StartScene : UIView
我打電話的
@interface HelpView : UIView {
GameOverMenu* gorm;
PlayScene* tView;
}
一個實例,並使用addSubview
。我也得到了這裏巨大的代碼
-(void) removemyself {
[tView removeFromSuperview];
[gorm removeFromSuperview];
[self removeFromSuperview];
}
-(void)restartPlay {
[tView removeFromSuperview];
[self playSceneDidLoad];
}
-(void)gameOverDidLoad {
[tView removeFromSuperview];
gorm = [[GameOverMenu alloc]initWithFrame:CGRectMake(0, 0, 320, 520)];
gorm.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"backGround.jpg"]];
[gorm checkScore:Scores];
[self addSubview:gorm];
}
-(void)playSceneDidLoad {
[gorm removeFromSuperview];
tView = [[PlayScene alloc]initWithFrame:CGRectMake(0, 0, 320, 520)];
tView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"backGround.jpg"]];
[self addSubview:tView];
[tView ooneFingerTwoTaps];
}
和兩個子類HelpView
:
@interface PlayScene : HelpView
@interface GameOverMenu : HelpView <UITextFieldDelegate>
在StartScene
當我按下了一個按鈕,創建的HelpView
一個實例,並在init方法playSceneDidLoad
被調用。
在PlayScene
裏面有重啓按鈕,調用restartPlay
方法。當遊戲丟失gameOverDidLoad
方法被調用。
並且在PlayScene
和GameOverMenu
中都有退出按鈕,該按鈕調用removemyself
方法,它們應該將播放器返回到主菜單。
乍一看它應該可以正常工作,但如果我按幾次重新啓動按鈕並嘗試按退出,就會發生視圖未從超級視圖中刪除,現在只有一次按下退出按鈕纔會將它們刪除一個。 我們在幫助視圖上停下來,它並沒有自行移除(即使我試圖在某處調用[super removeFromSuperview];
)
我需要及時移除正確的視圖並在按下退出時進入主菜單(StartScene) 。我不認爲覆蓋對方的很多觀點是一個很好的變種。問題是什麼?