问题:如何在使用StoryBoards时执行自定义初始化?
我已经阅读了几个与我的标题中相同的关键字的问题,但找不到任何答案。如果这个问题已经被问到或者它太基本了,我请原谅:我刚刚开始开发iOS应用程序。
目前我有一个应用程序:
AppDelegate
从源(当前是远程网址)读取需要在UIWebView
; TabBarController
,带有两个标签,即UIWebView
的实例; UIWebView
有方法(init和setter),用于接收需要显示的文件的URL。这两个UIWebView
显示AppDelegate
。我正在尝试使用StoryBoard执行相同的操作,但不知道如何将内容的URL
传递给两个UIWebView
。我已经阅读了有关initWithCoder
方法的答案,但无法弄清楚如何传递参数。
是否有人在我的(令人难以置信的困惑)问题中找出了我的意思,谁也能帮助我?
答案 0 :(得分:2)
我认为正确的地方是你的ViewController。您应该在ViewController中创建UIWebView的插座,以便能够访问它们。然后将URL传递给他们,您可以使用:
- (void)loadRequest:(NSURLRequest *)request
我不明白为什么你远程读取AppDelegate中的URL,但如果需要,你可以从ViewController访问你的AppDelegate,如下所示:
[[UIApplication sharedApplication] delegate]
答案 1 :(得分:0)
关于在标签栏控制器中访问视图控制器的引用的一般问题......
标签栏控制器有一个名为viewControllers
的公共属性,它是标签栏控制器包含的视图控制器数组。
您可以像访问任何其他数组一样访问此数组的元素,但在这种情况下,它们是对所有视图控制器的引用。
[tabBarController.viewControllers firstObject];
[tabBarController.viewControllers objectAtIndex:3];
for(UIViewController *vc in tabBarController.viewControllers) {
if([@"MyFirstVC" isEqualToString:vc.title]) {
// do stuff
}
}
等。等等。