1

我是 Objective-c 的新手,并且已经被这个问题困扰了好几个星期了。因此,非常感谢您对此的任何帮助。

我正在开发一个具有选项卡视图的 iPhone 应用程序,其中一个选项卡是 UIWebView。另一个选项卡提供了一种选择应在 UIWebView 中显示的内容的方法。

我可以在 UIWebView(在 viewDidLoad 中)显示初始视图:

[self.groupWebView loadHTMLString:html baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

这工作得很好。

但是当用户在 table view 上选择某些东西时,它必须在现有的 UIWebView 中打开一个新页面。

所以我有这个:

-(void) displayGroup:(int)theGroup
{
    // Set our selves to the webviews delegate since we implement the delegate methods here
    self.groupWebView.delegate = self;

    // Load it to the webview

    NSString *html = @"<html><head><title>it worked...</title></head><body><a href=\"custom://THIS_IS_CUSTOM_LINK\">Click for custom link</a><br><a href=\"http://google.com\">it worked...</a></body></html>";
    [self.groupWebView loadHTMLString:html baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

}

我称之为它并且它运行但在网络视图上没有任何反应。

.h 文件如下所示:

//  PBGroupViewController.h

#import <UIKit/UIKit.h>

@interface PBGroupViewController : UIViewController <UIWebViewDelegate, UIScrollViewDelegate> 

@property (nonatomic, retain) IBOutlet UIWebView *groupWebView;
- (void) displayGroup:(int)theGroup;

@end

对此的任何帮助将不胜感激......谢谢。

4

2 回答 2

0

当用户点击表格视图时,会生成一些 url。如果是,那么你应该使用 didSelectRowAtIndexPath 并且你应该加载你的 webview ..

于 2012-12-27T11:08:04.557 回答
0

像这样更改您的displayGroup功能:

-(void) displayGroup:(int)theGroup
{
    // Set our selves to the webviews delegate since we implement the delegate methods here
    self.groupWebView.delegate = self;

    // Load it to the webview

    NSString *html = @"<html><head><title>it worked...</title></head><body><a href=\"custom://THIS_IS_CUSTOM_LINK\">Click for custom link</a><br><a href=\"http://google.com\">it worked...</a></body></html>";
    [self.groupWebView loadHTMLString:html baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];
    [self.groupWebView stopLoading ];
    [self.groupWebView reload];
}
于 2012-12-27T10:14:10.863 回答