【问题标题】:UIWebView: change view titleUIWebView:更改视图标题
【发布时间】:2012-02-16 23:49:34
【问题描述】:

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

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

【问题讨论】:

  • 你没有。您可能应该在视图控制器本身中执行此操作。

标签: iphone objective-c cocoa-touch uiwebview


【解决方案1】:

这就是你要做的:

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

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

  2. 在故事板中,将UIWebView 链接到UIViewController

  3. UIViewController 设为UIWebViewDelegate(参见文档here

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

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

【讨论】:

    【解决方案2】:

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

    试试:

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

    (其中self 是视图控制器)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-19
      • 1970-01-01
      • 2013-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多