Ios 第一个uiwebview显示第二个webview的url

Ios 第一个uiwebview显示第二个webview的url,ios,objective-c,uiwebview,Ios,Objective C,Uiwebview,说明:我的项目中有两个ViewController。(它们的两个类名都是-ViewController)每个视图控制器都有一个uiwebview当我测试应用程序时,第一个uiwebview会打开第二个uiwebview的url网页。(第二个uiwebview url为,第一个为,因此第一个uiwebview将打开) 这是.m文件中的代码 #import "ViewController.h" @interface ViewController () @property (strong, non

说明:我的项目中有两个ViewController。(它们的两个类名都是-ViewController)每个视图控制器都有一个uiwebview

当我测试应用程序时,第一个uiwebview会打开第二个uiwebview的url网页。(第二个uiwebview url为,第一个为,因此第一个uiwebview将打开)

这是.m文件中的代码

#import "ViewController.h"

@interface ViewController ()

@property (strong, nonatomic) IBOutlet UIWebView *webView;
@property (strong, nonatomic) IBOutlet UIWebView *webView2;

@end

@implementation ViewController

@synthesize scrollView;

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.
    draw1 = 0;
    scrollView.frame = CGRectMake(0, 300, 480, 55);
    [scrollView setContentSize:CGSizeMake(480, 55)];

    openMenu.frame = CGRectMake(220, 270, 60, 30);


    UIWebView *webview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height)];

    NSString *url=@"http://test.bithumor.co/test26.php";
    NSURL *nsurl=[NSURL URLWithString:url];
    NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl];

    [webview loadRequest:nsrequest];

     webview.scrollView.bounces = NO;

    [self.view addSubview:webview];
    [self.view bringSubviewToFront:webview];
    [self.view bringSubviewToFront: openMenu];
    [self.view bringSubviewToFront: scrollView];


    // Do any additional setup after loading the view, typically from a nib.
    UIWebView *webview2=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height)];
    NSString *url2=@"http://google.com";
    NSURL *nsurl2=[NSURL URLWithString:url2];

    NSURLRequest *nsrequest2=[NSURLRequest requestWithURL:nsurl2];

    [webview2 loadRequest:nsrequest2];

    webview2.scrollView.bounces = NO;

    [self.view addSubview:webview2];
    [self.view bringSubviewToFront:webview2];
    [self.view bringSubviewToFront: openMenu];
    [self.view bringSubviewToFront: scrollView];
如何修复它,使每个UIWebView打开其指定的url

第一网络视图-

第二网络视图-


附加:有些人说我在一个ViewController中有两个插座,那个插座在哪里?我如何修复它,使每个(2)ViewController上都有一个webview。

rmaddy说的是,您编写的解释和代码显示的内容不一样。我知道你说你有两个视图控制器,但你只显示一个的代码。实际上,您正在创建一个视图,该视图直接位于另一个视图之上,并且具有相同的尺寸。您将永远看不到这种方式下面的web视图。如果您这样做,您应该看到两个Web视图,一个在另一个之上。这会告诉你那里确实有两个,但一个隐藏在另一个后面:

#import "ViewController.h"

@interface ViewController ()

@property (strong, nonatomic) IBOutlet UIWebView *webView;
@property (strong, nonatomic) IBOutlet UIWebView *webView2;

@end

@implementation ViewController

@synthesize scrollView;

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.
    draw1 = 0;
    scrollView.frame = CGRectMake(0, 300, 480, 55);
    [scrollView setContentSize:CGSizeMake(480, 55)];

    openMenu.frame = CGRectMake(220, 270, 60, 30);


    UIWebView *webview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height/2)];

    NSString *url=@"http://test.bithumor.co/test26.php";
    NSURL *nsurl=[NSURL URLWithString:url];
    NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl];

    [webview loadRequest:nsrequest];

     webview.scrollView.bounces = NO;

    [self.view addSubview:webview];
    [self.view bringSubviewToFront:webview];
    [self.view bringSubviewToFront: openMenu];
    [self.view bringSubviewToFront: scrollView];


    // Do any additional setup after loading the view, typically from a nib.
    UIWebView *webview2=[[UIWebView alloc]initWithFrame:CGRectMake(0, self.view.frame.size.height/2, self.view.frame.size.width,self.view.frame.size.height/2)];
    NSString *url2=@"http://google.com";
    NSURL *nsurl2=[NSURL URLWithString:url2];

    NSURLRequest *nsrequest2=[NSURLRequest requestWithURL:nsurl2];

    [webview2 loadRequest:nsrequest2];

    webview2.scrollView.bounces = NO;

    [self.view addSubview:webview2];
    [self.view bringSubviewToFront:webview2];
    [self.view bringSubviewToFront: openMenu];
    [self.view bringSubviewToFront: scrollView];
编辑1: 如果确实需要两个不同的视图控制器,则需要执行以下操作:

文件1: 文件2: 如果您使用的是故事板或NIB,则需要将每个视图控制器设置为不同的类。一个将设置为ViewController,另一个设置为ViewController2

编辑2: 要在一个文件中执行此操作,可以执行以下操作:

ViewController.h: ViewController.m: 显示web视图控制器的文件: 或者,如果它是通过segue呈现的,您可以在prepareforsgue方法中设置urlString属性
根据您的代码,有两种可能的情况: 首先:简单地说,您所调用的2个ViewController实际上是一个具有两个视图的ViewController,如果是这种情况,请添加功能以将您所调用的一个放到前面。 第二:你实际上有两个控制器。如果您使用的是为两个ViewController附加的代码,那么您将始终在第一个web视图之前拥有第二个web视图。两者都已加载,但您可以看到上面的一个


我希望这有助于确定问题。

FYI-不要删除并重新发布您的问题。那是糟糕的形式。如果你有更多的信息,你应该更新上一个问题。你的解释是错误的。您发布了一个包含两个web视图的视图控制器。@rmaddy,怎么,我不明白。它是两个视图控制器,每个控制器上有一个webview。请告诉我上面写着二对一viewcontroller的位置。@rmaddy它就在你发布的代码中。在这个单视图控制器类中,有两个web视图定义为属性。
viewdiload
方法创建并添加两个web视图,并将它们都添加到此一个视图控制器。这是我应该替换的新编辑的代码吗?是的,我只修改了两行,但您可以复制/粘贴整个部分。你应该可以这样看到这两个视图。这是可行的,但这不是我想要的。我想要它,在每个单独的viewcontrollerYeah上有一个webview,那么代码看起来将与上面的代码非常不同。这只是为了证明确实有两个。第一个没有加载错误的URL,只是被隐藏了。您想让一个视图控制器动态加载不同的URL,还是真的想创建两个不同的视图控制器?我想让不同的视图控制器在每个视图上加载不同的uiwebview
#import "ViewController.h"

@interface ViewController ()

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

@end

@implementation ViewController

@synthesize scrollView;

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.
    draw1 = 0;
    scrollView.frame = CGRectMake(0, 300, 480, 55);
    [scrollView setContentSize:CGSizeMake(480, 55)];

    openMenu.frame = CGRectMake(220, 270, 60, 30);


    UIWebView *webview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height)];

    NSString *url=@"http://test.bithumor.co/test26.php";
    NSURL *nsurl=[NSURL URLWithString:url];
    NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl];

    [webview loadRequest:nsrequest];

     webview.scrollView.bounces = NO;

    [self.view addSubview:webview];
    [self.view bringSubviewToFront:webview];
    [self.view bringSubviewToFront: openMenu];
    [self.view bringSubviewToFront: scrollView];
#import "ViewController2.h"

@interface ViewController2 ()

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

@end

@implementation ViewController2

@synthesize scrollView;

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.
    draw1 = 0;
    scrollView.frame = CGRectMake(0, 300, 480, 55);
    [scrollView setContentSize:CGSizeMake(480, 55)];

    openMenu.frame = CGRectMake(220, 270, 60, 30);


    UIWebView *webview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height)];

    NSString *url=@"http://www.google.com";
    NSURL *nsurl=[NSURL URLWithString:url];
    NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl];

    [webview loadRequest:nsrequest];

     webview.scrollView.bounces = NO;

    [self.view addSubview:webview];
    [self.view bringSubviewToFront:webview];
    [self.view bringSubviewToFront: openMenu];
    [self.view bringSubviewToFront: scrollView];
...
@interface ViewController : UIViewController
@property (strong, nonatomic) NSString *urlString;
@end
#import "ViewController.h"

@interface ViewController ()

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

@end

@implementation ViewController

@synthesize scrollView;

- (void)viewDidLoad
{
    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.
    draw1 = 0;
    scrollView.frame = CGRectMake(0, 300, 480, 55);
    [scrollView setContentSize:CGSizeMake(480, 55)];

    openMenu.frame = CGRectMake(220, 270, 60, 30);


    UIWebView *webview=[[UIWebView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width,self.view.frame.size.height)];

    NSURL *nsurl=[NSURL URLWithString:self.urlString];
    NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl];

    [webview loadRequest:nsrequest];

     webview.scrollView.bounces = NO;

    [self.view addSubview:webview];
    [self.view bringSubviewToFront:webview];
    [self.view bringSubviewToFront: openMenu];
    [self.view bringSubviewToFront: scrollView];
...
ViewController *webViewController = [[ViewController alloc] init];
webViewController.urlString = @"http://www.google.com";
[self presentViewController:webViewController animated:YES completion:nil];
...
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
   if ([segue.identifier isEqualToString:@"yourSegueIDHere"]) {
      ViewController *webViewController = (ViewController *)segue.destinationViewController;
      webViewController.urlString = @"http://www.google.com";
   }
}
...