2013-11-21 4 views
1

Итак, я пытаюсь закончить это приложение для iPhone, которое я начал несколько лет назад. Во всяком случае, у меня есть меню опций, из которого вы можете создать пользовательский уровень (который переходит в другое представление). Затем, когда я вернусь в главное меню, затем в меню параметров, он просто отображает черный экран.iPhone приложение, повторно использующее вид, отображает черный экран

// shows options menu, works the first time 
-(void) options : (id) sender{ 
    [self.menuViewController.view removeFromSuperview]; 
    [self.bg.view removeFromSuperview]; 
    [self transition:self.view :navController.view]; 
} 

// goes to custom built level 
- (void) createCustom : (int) colorCount : (int) width : (int) height : (int) shuffles : (int) partners : (ToggleMode) toggleMode : (BOOL) colorblind{ 
    self.gameViewController.isCustom = true; 
    self.gameViewController.width = width; 
    self.gameViewController.height = height; 
    self.gameViewController.shuffles = shuffles; 
    self.gameViewController.partners = partners; 
    self.gameViewController.toggleMode = toggleMode; 
    self.gameViewController.colorCount = colorCount; 

    srandom(arc4random()); 

    [self.navController setNavigationBarHidden:true]; 
    [self.gameViewController goToLevel]; 

    [self transition:self.optionsMenu.customLevel.view : gameViewController.view]; 
} 

- (void) transition : (UIView *) fromView : (UIView *) toView{ 
    [UIView transitionFromView:fromView toView:toView duration:1.0 options:UIViewAnimationOptionTransitionFlipFromRight completion:NULL]; 
} 

Когда я распечатать объекты, задействованные, все они, кажется, все еще будет там, так что я понятия не имею, почему это просто показывая черный. Пожалуйста, помогите мне закончить это приложение!

+0

Я начал проект, и я бы хотел его увидеть. Как я могу узнать, что мне нравится или не нравится, если я никогда не пробую? – Andrew

+0

Это лучшая причина для редактирования. У меня есть ** EVER **, увиденный в stackoverflow – alexgophermix

+0

, просто отлаживайте свой код и посмотрите, что вы написали что-нибудь в viewDidLoad, и после нажатия вы донг POP, тогда он не придет в viewDidLoad, потому что у вас есть использовать viewWillAppear .. вызвать свой метод в viewWillAppear и посмотреть –

ответ

0

Почему бы не отобразить меню параметров с помощью ModalViewController? Он отобразит надпись на вашем существующем ViewController и не будет отклонять/отменять ее. Это также устранит необходимость вручную удалять представления и просматривать контроллер до перехода, что, вероятно, является причиной проблемы с черным экраном. Вы можете добавить кнопку на этом модальном, чтобы уволить ее после того, как пользователь закончил просматривать параметры.

Также как общий пункт на объективе c, чтобы облегчить вам жизнь, вы должны следовать правильному формату методов именования. Это включает в себя назначение имени параметра перед каждым параметром, чтобы сделать вызов метода гораздо менее запутанным. В качестве примера:

- (void)createCustom:(int)colorCount 
        :(int)width 
        :(int)height 
        :(int)shuffles 
        :(int)partners 
        :(ToggleMode)toggleMode 
        :(BOOL)colorblind { 
} 

бы превратиться в нечто вроде:

- (void)createCustomColorCount:(int)colorCount 
           withWidth:(int)width 
           withHeight:(int)height 
           withNumberOfShuffles:(int)shuffles 
           WithNumberOfPartners:(int)partners 
           withToggleMode:(ToggleMode)toggleMode 
           setColorBlind:(BOOL)colorblind { 
} 

Чтобы продемонстрировать, почему это полезно, вот пример того, как вы могли бы назвать ваш метод:

[self createCustom:0 
        :100 
        :100 
        :5 
        :5 
        :nil 
        :NO]; 

в сравнении с:

[self createCustomColorCount:0 
        withWidth:100 
        withHeight:100 
     withNumberOfShuffles:5 
     WithNumberOfPartners:5 
       withToggleMode:nil 
       setColorBlind:NO]; 

Как вы c a see со вторым методом гораздо более понятно, что соответствует каждому значению параметра, не возвращаясь к реализации метода.

Смежные вопросы