将 UIWebView 设为公开
Posted
技术标签:
【中文标题】将 UIWebView 设为公开【英文标题】:Make a UIWebView Public 【发布时间】:2011-02-05 00:31:34 【问题描述】:我在我的视图控制器中声明了一个UIWebView
对象,我想让它在应用程序使用application:didRecieveRemoteNotification:
运行时收到通知时加载不同的页面。我无法从 appDelegate 内部访问对象。
有什么简单的方法吗?
这就是我声明我的网络视图的方式
.h
IBOutlet UIWebView *webView;
@property (nonatomic, retain) UIWebView *webView;
.m
@synthisize webView;
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:currentPath]]];
【问题讨论】:
【参考方案1】:这不是从控制器外部显示 Web 视图的最佳方法。只需将这样的方法添加到控制器:
-(void) loadFromPath:(NSString*) path
[webView loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath: path]]];
并在需要时在您的应用委托中调用它。
【讨论】:
谢谢,我想这行得通!但现在它说: Method '+loadFromPath:' not found(return type defaults to 'id') 有什么想法吗? 这是我的 appDelegate 中的代码:[appViewController loadFromPath:currentPath]; 那是因为你没有声明 -(void) loadFromPath:(NSString*) path;在您查看控制器的标题中。 这不可能,因为我做到了,抱歉我没有提到。 呃,我现在似乎很清楚了。 +loadFromPath: 表示您将其声明为静态。你必须声明它 -(void) loadFromPath: (with - and not +)以上是关于将 UIWebView 设为公开的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 7 中无法从 UIWebView 调用应用程序(URL 方案)
在 xib 上更改小部件的类? (将 UIWebView 更改为我自己的 UIWebView 类别)