UIWebView:更改视图标题

时间:2012-02-16 23:49:35

标签: iphone objective-c cocoa-touch uiwebview

我有一个带有UIViewController的故事板。在这个视图中,我放置了一个自定义的UIWebView。在我的自定义webview的代码中,我想在其外部UIViewController的导航控件中更改标题。

我试图在webview中调用superview,但这只是给了我一个UIView。我怎样才能从这个webview中更改UIViewController中的标题?

2 个答案:

答案 0 :(得分:2)

这是你做的:

  1. UIViewController中,我假设你有一些代码设置代表这个UIWebView?添加UIWebView作为UIViewController的属性(不要忘记IBOutlet部分!)

    @property (nonatomic, retain) IBOutlet UIWebView *webView;

  2. 在故事板中,将UIWebViewUIViewController相关联。

  3. UIViewController成为UIWebViewDelegate(请参阅文档here

  4. 在UIViewController中,实现webViewDidFinishLoad:方法。在这个方法中,UIWebView将让UIViewController知道加载页面的时间。然后,您可以使用以下代码将webview的标题分配给UINavigationController的标题:

    NSString *pageTitle=[self.webView stringByEvaluatingJavaScriptFromString:@"document.title"]; [self.navigationItem setTitle:pageTitle];

答案 1 :(得分:0)

您需要对UIViewController的引用,以获取对其NavigationItem的引用。

尝试:

[[self navigationItem] setTitle:@"new title"];

(其中self是视图控制器)