Код переключателя основного вида Сбои симулятора iPhone - PullRequest
0 голосов
/ 24 июня 2011

Я некоторое время пытался переключить два представления с двух отдельных контроллеров представления, и это никогда не работает, симулятор всегда вылетает на главный экран. Я использую Xcode 3.2.5, и это мой код -

SwitchViewsViewController.h

#import <UIKit/UIKit.h>
#import "SecondViewController.h"

@interface SwitchViewsViewController : UIViewController {
}
-(IBAction)pushButton;
@end

SwitchViewsViewController.m

#import "SwitchViewsViewController.h"
#import "SecondViewController.h"

@implementation SwitchViewsViewController

-(IBAction)pushButton {
    SecondViewController *screen = [[SecondViewController alloc] initWithNibName:nil bundle:nil    
    screen.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
    [self presentModalViewController:screen animated:YES]
    [screen release];
}

SecondViewController.h

#import <UIKit/UIKit.h>

@interface SecondViewController : UIViewController {
}
-(IBAction)pushBack;
@end

SecondViewController.m

#import "SecondViewController.h"

@implementation SecondViewController

-(IBAction)pushBack{
    [self dismissModalViewControllerAnimated:YES];
}

В конструкторе интерфейсов все, что я сделал, это связал классы владельца файла и кнопки. Также сначала загружается SwitchViewsViewController, а не MainWindow. Все строит, но когда я пытаюсь запустить приложение, оно вылетает и отправляет его на домашний экран. Кто-нибудь может мне помочь с этим?

Ответы [ 2 ]

0 голосов
/ 24 июня 2011

Ошибки XIB редко обнаруживаются во время компиляции. Поэтому, когда вы говорите, что сделали SwitchViewsViewController отправной точкой приложения, я предполагаю, что вы изменили основной файл пера в Info.plist. Обычно этот nib-файл отвечает за предоставление информации о делегате приложения. Так что это довольно плохая идея, если вы изменили ее на SwitchViewsViewController. Я предлагаю вам включить обратно MainWindow.xib. Это проще, я думаю, но если вы заинтересованы в программировании, взгляните на this post.

0 голосов
/ 24 июня 2011

Когда вы выделяете свой secondViewController, который вы инициализируете, с именем nib nil, на самом деле это должно быть имя вашего файла nib.

SecondViewController * screen = [[SecondViewController alloc] initWithNibName: nil bundle: nil];

Кроме того, вы должны закрыть скобки; -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...