ApplicationDelegateが実装するプロトコルがあります。これをストーリーボードで定義された最初のビューコントローラーに渡します。メソッドからアクセスするにはどうすればよいですか?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
ApplicationDelegateが実装するプロトコルがあります。これをストーリーボードで定義された最初のビューコントローラーに渡します。メソッドからアクセスするにはどうすればよいですか?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
質問を正しく理解しているかどうかはわかりませんが、ストーリーボードの最初のviewControllerをどのように取得するかを尋ねていると思います。これを取得するには、電話します。
UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc =[storybord instantiateInitialViewController];
ストーリーボードの名前を自分の名前に合わせて変更します。MainStoryboardは単なるデフォルトの名前です。これがあなたが探していたものであることを願っています。
編集:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc =[storybord instantiateInitialViewController];
//set the delegate on the view controller that you have loaded
// Override point for customization after application launch.
return YES;
}
代わりに、を使用して既存のストーリーボードの新しいコピーを作成します
UIStoryboard *storybord = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
アプリデリゲートのヘッダーファイルでこのプロパティを設定できます
@property (nonatomic, weak) UIViewController* initialViewController;
このメソッドでは、self.window.rootViewControllerをプロパティに割り当てるだけです。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.initialViewController = self.window.rootViewController;
return YES;
}
アプリのウィンドウプロパティでは、デリゲートプロトコルはrootViewConrollerへのアクセスであり、ストーリーボードを使用している場合、このコントローラーはinitialViewControllerであるため、これは機能するはずです。
必要な人のためのSwift2.0の実装。
STROYBAORDおよびコントローラービュー識別子を変更する必要がある場合があります。またo
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
let storyboard: UIStoryboard = UIStoryboard(name: "[STORYBOARD NAME]", bundle: nil)
let viewController:UIViewController = storyboard.instantiateViewControllerWithIdentifier("[CONTROLLER IDENTIFIER]") // You have replace UIViewController with you customer controll type
self.window?.rootViewController = viewController
self.window?.makeKeyAndVisible()
return true
}