StoryBoard和初始化

时间:2014-02-08 14:04:06

标签: ios uiwebview uistoryboard

问题:如何在使用StoryBoards时执行自定义初始化?

我已经阅读了几个与我的标题中相同的关键字的问题,但找不到任何答案。如果这个问题已经被问到或者它太基本了,我请原谅:我刚刚开始开发iOS应用程序。

目前我有一个应用程序:

  • AppDelegate从源(当前是远程网址)读取需要在UIWebView;
  • 的实例中显示的两个网址
  • 主控制器是TabBarController,带有两个标签,即UIWebView的实例;
  • 两个UIWebView有方法(init和setter),用于接收需要显示的文件的URL。这两个UIWebView显示AppDelegate
  • 读取的网址

我正在尝试使用StoryBoard执行相同的操作,但不知道如何将内容的URL传递给两个UIWebView。我已经阅读了有关initWithCoder方法的答案,但无法弄清楚如何传递参数。

是否有人在我的(令人难以置信的困惑)问题中找出了我的意思,谁也能帮助我?

2 个答案:

答案 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
    }
}

等。等等。