[英]Linking a new viewcontroller to Storyboard?
可能有一個簡單的解決方案,但我無法弄清楚。
我正在使用故事板作為界面。
我從一個標簽欄控制器開始,但在允許用戶使用該應用程序之前,用戶必須通過在開始時以模態方式推送的登錄視圖來驗證自己。
我想在同一個故事板上配置loginview,但我無法找到如何鏈接故事板上的視圖控制器和我的代碼。
我做了什么:
無標簽...
拉上一個新的UIViewController,它將作為MainStoryboard上的登錄視圖控制器。 在屬性檢查器中,將標識符更改為LoginViewController(或適當的內容)。 然后加
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
UIViewController *vc = [storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
[vc setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentModalViewController:vc animated:YES];
}
到第一個視圖控制器和登錄屏幕將從故事板加載並顯示。
希望這可以幫助。
以上Scott Sherwood的答案是經過大量搜索后找到的最正確的答案。 雖然根據新的SDK(6.1)進行了微小的更改,但presentModalViewController顯示已棄用。
以上是對上述答案的非常小的改動。
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];
HomeViewController * hvc = [sb instantiateViewControllerWithIdentifier:@"LoginView"];
[hvc setModalPresentationStyle:UIModalPresentationFullScreen];
[self presentViewController:hvc animated:YES completion:nil];
我是這個領域的新手。 但是,如果第一個視圖控制器是導航視圖控制器,並且其rootviewcontroller是一個表視圖控制器。 如果要在單擊單元格時按下ViewViewController之類的視圖控制器,並且還想使用導航欄返回到表視圖。 我建議這樣:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *controller = [sb instantiateViewControllerWithIdentifier:@"LoginViewController"];
[self.navigationController pushViewController:controller animated:YES];
}
通過這種方式,您可以進行導航。
順便說一下,我不知道為什么會出現這樣的問題。 我想當在代碼中創建loginviewcontroller時,它的視圖不是故事板中的視圖。 如果有人知道原因,請告訴我! 謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.