1

アプリの起動時に表示される最初のviewControllerを設定しています。それが私の AppDelegate.h です:

#import "AppDelegate.h"
#import "TutorialController.h" // a simple UIViewController

@implementation AppDelegate

@synthesize window;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    window.rootViewController = [[TutorialController alloc] init];

    [window makeKeyAndVisible];

    return YES;
}

アラートは表示されませんが、アプリを起動すると、スプラッシュスクリーンの後、黒い画面のみが表示されます。そのコードがなければ、すべて正常に動作します。この問題を解決した後、他のものを追加する必要があるため、StoryBoard でそれを行うことはできません.何が問題なのですか? ありがとうございました!

解決済み: followben の返信を使用して解決しました。

4

3 に答える 3

8

.h:

@class MainViewController;

@interface AppDelegate : UIResponder <UIApplicationDelegate>

@property (strong, nonatomic) UIWindow *window;
@property (strong,nonatomic) MainViewController *mainViewController;

.m:

#import "MainViewController.h"

@implementation AppDelegate
@synthesize mainViewController;


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{


    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    self.mainViewController = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
    self.window.rootViewController = self.mainViewController;
    [self.window makeKeyAndVisible];
    return YES;
}

編集、完全なプロジェクト リンク (zip 形式) (作業中 :))

EDIT2:

ストーリーボードを使用している場合は、ストーリーボード ファイルを作成し、次の図のようにプロジェクトのストーリーボードに割り当てます。メイン インターフェイスは、ストーリーボード ファイル名と同じです。

ここに画像の説明を入力 アプリのデリゲートに何も書き込む必要はありません。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    return YES;
}

この小さな矢印を、この写真のようにスターターを設定したい ViewController に移動することで、開始ページを設定できます。

ここに画像の説明を入力

ViewController (ストーリーボード内) を新しい TutorialViewController に割り当てる場合は、次のようにします。

ここに画像の説明を入力

于 2013-10-21T17:45:00.470 に答える
1

私が知る限り、この問題は-(void)loadViewメソッドが原因で発生します。したがって、このメソッドを削除またはコメントし、代わりに - (void)viewDidLoad を使用してすべてをロードしてください。

于 2015-07-03T04:46:18.120 に答える