0

我有一个带有多个单元的导航控制器。我想将每个单元格链接到 web 视图中的网页。但是,我不想为每个单元格创建另一个视图控制器。是否可以创建 1 个视图控制器并将所有单元格链接到同一个视图控制器,但在每个单元格的 Web 视图中显示不同的网页?例如,有单元格 1 和单元格 2。它们都链接到一个视图控制器,视图控制器中有一个 Web 视图。当您单击单元格 1 时,它会将您带到视图控制器,并在 Web 视图中将您带到http://example.com。当您单击单元格 2 时,它会将您带到与单元格 1 相同的视图控制器,但在 Web 视图中,它会将您带到http://example.com/1。我怎样才能做到这一点?

4

1 回答 1

0

只需在您的viewcontroller其中声明一个属性,该属性包含您要请求的 URL。

@property (strong,nonatomic) NSString *url;

当您单击一个单元格时,根据您的属性分配单元格的 URLviewcontroller

你的视图控制器应该看起来像这样。

标题

#import <UIKit/UIKit.h>

@interface RSViewController : UIViewController

@property (weak, nonatomic) NSString *url;

@end

执行

#import "RSViewController.h"

@interface RSViewController ()<UIWebViewDelegate>

@property (strong,nonatomic) IBOutlet UIWebView *webview;

@end

@implementation RSViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.webview.delegate = self;

    NSURLRequest *urlRequest = [[NSURLRequest alloc]initWithURL:[NSURL URLWithString:self.url]];
    [self.webview loadRequest:urlRequest];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

-(void)webViewDidStartLoad:(UIWebView *)webView
{
    NSLog(@"Did start loading");
}

-(void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSLog(@"Did finish loading");
}

@end

现在您只需要在您的中引用viewcontroller您并在单元格单击时tableviewcontroller设置属性。url

于 2013-06-14T13:29:42.870 回答