Я пытаюсь реализовать 2 веб-представления с помощью раскадровки, оба связаны с другой веб-страницей в Интернете. По какой-то причине я не получаю ошибок, но работает только PriceViewController. Другой VC генерирует белую страницу ......

Я использую эти 4 файла:

ЦеныViewcontroller.h

#import <UIKit/UIKit.h>

 @interface PricesViewController : UIViewController

 {
     IBOutlet UIWebView *WebView; }

 @property (nonatomic, retain) UIWebView *WebView;

 @end

ЦеныViewController.m

 #import "PricesViewController.h"

 @interface PricesViewController ()

 @end

 @implementation PricesViewController @synthesize WebView;

 - (void)viewDidLoad {
    [WebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.sparein.be/full_pricelist.pdf"]]];
      [super viewDidLoad];

 }


 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
     self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
     if (self) {
         // Custom initialization
     }
     return self; }

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

 @end

ReservationsViewController.h

#import <UIKit/UIKit.h>

 @interface ReservationsViewController : UIViewController

 {
     IBOutlet UIWebView *WebView2; }

 @property (nonatomic, retain) UIWebView *WebView2;

 @end

ReservationsViewController.m

#import "ReservationsViewController.h"

 @interface ReservationsViewController ()
   @end

 @implementation ReservationsViewController @synthesize WebView2;

 - (void)viewDidLoad {
     [WebView2 loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.be"]]];

     [super viewDidLoad];
     }


 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
     self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
     if (self) {
         // Custom initialization
     }
     return self; }

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

 @end
3
Stefan 3 Сен 2013 в 14:23
1
Внедрите методы UIWebViewDelegate, возможно, они могут рассказать вам что-нибудь о том, что происходит.
 – 
Fahri Azimov
3 Сен 2013 в 14:46
Убедитесь, что вы не забыли указать ссылку на WebView2 из файла .xib ReservationsViewController.
 – 
D-eptdeveloper
3 Сен 2013 в 14:57

1 ответ

Лучший ответ

Возможно, это не решит вашу проблему, но попробуйте следующее. Аналогичным образом измените свои PricesViewController.h и ReservationsViewController.h. Кроме того, какую версию Xcode вы используете и на какую версию iOS вы ориентируетесь? Вам не нужно использовать @synthesize в вашем .m, если вы используете последнюю версию Xcode и iOS.

@interface PricesViewController : UIViewController

@property (nonatomic, weak) IBOutlet UIWebView *WebView;

@end

IBOutlet не следует сохранять, так как это может вызвать циклы сохранения. Может быть, не причина, но в любом случае хорошая практика программирования.

1
stevekohls 3 Сен 2013 в 17:53
Xcode версии 4.6.3, ориентированной на iOS 6.1. Удаление @synthesize WebView; вызывает ошибку при WebViewloadRequest
 – 
Stefan
3 Сен 2013 в 18:44
1
Еще раз проверьте, что розетка UIWebView в файле .xib подключена к файлу .h IBOutlet.
 – 
stevekohls
3 Сен 2013 в 22:07
Решено! Ссылочная розетка не подключена. Глупая ошибка :-). Спасибо за помощь!
 – 
Stefan
4 Сен 2013 в 02:00
Большой! Рад, что смог помочь. Если хотите, нажмите кнопку "Принять" на моем ответе. Это помечает его как принятый ответ. Спасибо!
 – 
stevekohls
4 Сен 2013 в 17:16