【问题标题】:Web View is not working in iOS5Web 视图在 iOS5 中不起作用
【发布时间】:2011-11-17 11:53:52
【问题描述】:

非常刚接触 iPad,正在尝试“使用 Web 视图加载网页” - 打开 google 页面!

我按照方框/教程中给出的所有步骤进行操作,但无法查看该页面。 第 1 步:在视图窗口中添加 web 视图 第 2 步:通过添加以下代码为 Web 视图贴花出口

@interface WebiPadViewController : UIViewController {
   IBOutlet UIWebView *webDisplayiPad;
 }
 @property(nonatomic,retain) UIWebView *webDisplayiPad;

第 3 步:使用文件管理器将 webview 出口连接到 Web 视图 第 4 步:使用以下代码创建 URl 和请求对象:

 - (void)viewDidLoad {
    NSString *urlAddress = @"http://www.google.com";

 //Create a URL object.
   NSURL *url = [NSURL URLWithString:urlAddress];

//URL Requst Object
  NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];

//Load the request in the UIWebView.
  [webDisplayiPad loadRequest:requestObj];

 [super viewDidLoad];
 }

第 5 步:保存并运行应用以查看谷歌页面。

但模拟器只显示白色背景!

【问题讨论】:

    标签: ipad ios5


    【解决方案1】:

    首先我要说的是,您可能只是没有正确设置 ViewController 类和 View outlet 属性,正如 sergio 所描述的那样,因为这也可能导致空白背景。

    但我将假设未连接的是您的 webDisplayiPad 属性。我认为这很可能是因为您的“第 3 步:使用文件管理器将 webview 出口连接到 Web 视图”似乎充其量只是粗略的描述。

    要检查您的连接,请转到您的 WebiPadViewController.xib 并右键单击(cntrl-click)文件所有者图标。在 outlets 下应该有你的 webDisplayiPad,右边有一个圆圈。如果圆圈是空的,我怀疑它是空的,从圆圈拖动到 UIWebView。 UIWebView 会做一点闪烁来确认。你就完成了。

    另外,连接 IBOutlets 的现代方式是将该关键字放在属性定义中并完全忘记 ivar。例如:

    @interface WebiPadViewController : UIViewController {
    
    }
    @property(nonatomic,retain) IBOutlet UIWebView *webDisplayiPad;
    

    并在 .m 文件中执行此操作:

    @implementation WebiPadViewController
    @synthesize webDisplayiPad = _webDisplayiPad;
    

    合成将为您创建支持变量,_ 字符将帮助您保持它们的正确性。

    如果您要更改为这种方式,您的 loadRequest 调用将类似于以下两种之一:

    [_webDisplayiPad loadRequest:requestObj]; // Calls through ivar
    [self.webDisplayiPad loadRequest:requestObj]; // Calls through accessor method
    

    【讨论】:

      【解决方案2】:

      不要忘记你的实现:

      @synthesize webDisplayiPad = _webDisplayiPad;
      

      【讨论】:

        【解决方案3】:

        我猜你的 Nib/Xib 连接有问题。

        请检查以下内容:

        1. 您的 nib 文件的所有者类设置为 WebiPadViewController

        2. 您的控制器的view 插座已连接到网络视图。

        【讨论】:

        • 断言可能有帮助 - NSAssert(webDisplayiPad, @"我连接插座了吗?");
        【解决方案4】:

        设置委托。 仅当您设置委托时才会加载网页。

        否则它将是一个空白页面

        【讨论】:

          【解决方案5】:

          我认为你必须将 HTML 加载到 UIWebView 中,

          【讨论】:

          • [webDisplayiPad loadRequest:requestObj] 完全可以让 web 视图加载一些 html;问题出在其他地方……
          • @Stuti。实际上 loadRequest 在您发布的链接中使用。
          猜你喜欢
          • 1970-01-01
          • 2011-12-22
          • 2011-12-12
          • 2011-12-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多