【问题标题】:Link Navigation View Controller cell to a Web View将导航视图控制器单元链接到 Web 视图
【发布时间】:2013-06-11 02:58:02
【问题描述】:

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

【问题讨论】:

  • UINavigationController 没有“单元格”。你是说 UITableViewController 吧?

标签: iphone objective-c xcode cocoa-touch uiwebview


【解决方案1】:

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

@property (strong,nonatomic) NSString *url;

当你点击一个单元格时,根据你的viewcontroller的属性分配单元格的URL

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

标题

#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

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

【讨论】:

  • 你的意思是什么视图控制器?我有一个表格视图控制器,其中单元格位于另一个视图控制器中,其中 Web 视图位于。
  • 你的webview所在的viewcontroller
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-06
  • 2013-05-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多