XCodeの些細だが基本的な概念などに問題があります。
アプリを最初から作成し、ルート ビュー コントローラーを提示して、練習用に VC をプッシュ アンド ポップできるようにしたいだけです。
私を信じてください、私はたくさんの投稿を見ましたが、どれもうまくいかないようです.
私の手順は、新しい xcode プロジェクトを作成し、空のアプリケーションを作成することでした。シングル ビュー アプリを作成するのではなく、ここで学びましょう。
新しいファイルに移動し、obj-c クラスを追加して、それを使用して XIB を作成しました。私はこれを RootViewController と呼びました。
これが私のアプリ デリゲート h ファイルです。
#import <UIKit/UIKit.h>
#import "RootViewController.h"
UINavigationController *navVC;
@interface VCTestAppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (retain, nonatomic) UINavigationController *navVC;
@property (readonly, strong, nonatomic) NSManagedObjectContext *managedObjectContext;
@property (readonly, strong, nonatomic) NSManagedObjectModel *managedObjectModel;
@property (readonly, strong, nonatomic) NSPersistentStoreCoordinator *persistentStoreCoordinator;
- (void)saveContext;
- (NSURL *)applicationDocumentsDirectory;
@end
navVC という独自の UINavigationController を作成していることに注意してください。
次に、これが私のappledelegate mファイルの最初の関連セクションです...
#import "VCTestAppDelegate.h"
@implementation VCTestAppDelegate
@synthesize managedObjectContext = _managedObjectContext;
@synthesize managedObjectModel = _managedObjectModel;
@synthesize persistentStoreCoordinator = _persistentStoreCoordinator;
@synthesize navVC;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIViewController *VC1 = [[UIViewController alloc]initWithNibName:@"RootViewController" bundle:nil];
navVC = [[UINavigationController alloc]initWithRootViewController:VC1];
[[self window] setRootViewController:navVC];
[self.window makeKeyAndVisible];
return YES;
}
そして、その表示を確認するために、そのルート VC にラベルを作成しました。いやいや。構文エラーやクラッシュはなく、シミュレーターは黒い画面を表示するだけです。私と一体何をしているの?次に、これを理解したら、ビューコントローラーをプッシュおよびポップする練習をしたいと思います。
私はこれを理解できないなんて信じられない。最近、自分のアプリを公開しましたが、ストーリーボードを使用しています。今は別のプロジェクトに移りたいと思っていますが、絵コンテを使用せずに、よりしっかりした基礎が必要です。iOS 5 以降のユーザーだけに制限したくありません。
ちなみに、シングルビューアプリケーションを起動してVCを追加してみましたが、ボタンをクリックすると「すべき」です。2 番目の VC をプッシュします。その構文は知っていますが、いじっていた他のアプリをテストしたところ、ボタンのIBActionブロックに入りましたが、そのVCをプッシュしませんでした....
[self navigationController] pushview を試しました... [navVC pushview...] だけを試しても何も動作しませんでした。
何が欠けているのか、人々が手動で (ストーリーボードの前にプログラムで) アプリを作成した方法がわかりません。
どんな助けでも大歓迎です。ありがとう!