簡體   English   中英

從UIScrollView子視圖呈現一個故事板UIViewController

[英]present a storyboard UIViewController from a UIScrollView subview

我正在嘗試從UIScrollView子視圖呈現視圖控制器。 我曾嘗試使用AppDelegate window.rootViewController presentViewController:但這使我“視圖不在層次結構中!” 錯誤。 我想避免使用addSubview,因為這會破壞MVC並似乎刪除了控制器的功能(按鈕停止工作)。 當我使用預期的presentViewController方法時,我得到“ InititalScrollViewSubview的無可見@interface聲明選擇器” presentViewController:animated:completion:”,我認為這意味着我的initialScrollViewSubview嘗試使用presentViewController,但presentViewController必須來自於UIViewController。UIScrollView沒有presentViewController方法。

我的代碼是這樣的:

-(void)setupTouchIDButtonTapped: (id)sender {

    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"newViewController" bundle:nil];
    NewViewController *myNewViewController = [storyboard instantiateViewControllerWithIdentifier:@"myNewVC"];

//我嘗試過的第一件事:

AppDelegate *delegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
[delegate.window.rootViewController presentViewController:NewViewController animated:YES completion:nil];

//我嘗試過的第二件事

[self addSubview:NewViewController.view];

//我嘗試的第三件事:

[self presentViewController:NewViewController animated:YES completion:nil];

}

InitialScrollViewSubview必須保持原樣。 理想情況下,我會重構所有內容,因此InitialScrollViewSubview是另一個UIViewController,但是我為一家大型公司工作,並且該應用程序太大了:)任何建議都將不勝感激!

謝謝!!

如果您試圖在滾動視圖中“嵌入”視圖控制器的視圖,則不要顯示該視圖控制器。 您實例化它,然后將其視圖添加到視圖層次結構中。

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"newViewController" bundle:nil];
    NewViewController *myNewViewController = [storyboard instantiateViewControllerWithIdentifier:@"myNewVC"];

[scrollView addSubview:NewViewController.view];

您還需要設置視圖的大小/框架或設置自動布局約束,以便正確調整視圖控制器的大小。

嘗試這個

UIStoryboard * storyboard = [UIStoryboard storyboardWithName:@“ newViewController”捆綁包:無];

NewViewController *myNewViewController = [storyboard instantiateViewControllerWithIdentifier:@"myNewVC"];

AppDelegate * delegate =(AppDelegate *)[[UIApplication sharedApplication]委托];

UINavigationController * rootNvc =代表。窗口.rootViewController;

[rootNvc pushViewController:NewViewController動畫:是];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM