0

複数のセルを持つナビゲーション コントローラーがあります。各セルを Web ビューの Web ページにリンクしたいと考えています。ただし、セルごとに別のView Controllerを作成したくありません。1 つのビュー コントローラーを作成し、すべてのセルを同じビュー コントローラーにリンクして、各セルの Web ビューに異なる Web ページを表示することは可能ですか? たとえば、セル 1 とセル 2 があります。どちらも、View Controller に Web ビューがある 1 つの View Controller にリンクしています。セル 1 をクリックすると、View Controller が表示され、Web ビューではhttp://example.comに移動します。セル 2 をクリックすると、セル 1 と同じビュー コントローラーに移動しますが、Web ビューではhttp://example.com/1に移動します。どうやってやるの?

4

1 に答える 1

0

viewcontrollerリクエストする URL を保持するプロパティを宣言するだけです。

@property (strong,nonatomic) NSString *url;

セルをクリックすると、セルの URL がプロパティに応じて割り当てられます。viewcontroller

ビューコントローラーは次のようになります。

ヘッダ

#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だけです。tableviewcontrollerurl

于 2013-06-14T13:29:42.870 に答える