2009-11-20 2 views
4

Я пытаюсь отобразить простую веб-страницу внутри моего UIWebView без Nib. Проблема в том, что когда я нажимаю на мою кнопку, появляется новая страница blanck страницы, но ничего не отображается. Я что-то пропустил?Показать веб-страницу внутри UIWebView

 

- (void)loadView { 

    UIView *topView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 

    UIWebView *web = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; 
    self.webView = web; 

    NSString *urlAddress = @"http://www.google.com"; 
    NSURL *url = [[[NSURL alloc] initWithString:urlAddress] autorelease]; 
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 


    [webView loadRequest:requestObj]; 

    [topView addSubview:self.webView]; 
    [web release]; 
} 

спасибо,

ответ

6

Если это точный код, который вы используете, то он не может работать: Webview добавлен в Topview, что никогда не положить на экране в любом месте.

Возможно, вы захотите добавить webView к виду контроллера, но лучше всего это сделать viewDidLoad, где self.view можно безопасно использовать.

Этот код работает для меня:

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    self.webView = [[[UIWebView alloc] 
     initWithFrame:CGRectMake(0, 0, 320, 480)] autorelease]; 

    NSString *urlAddress = @"http://www.google.com"; 
    NSURL *url = [[[NSURL alloc] initWithString:urlAddress] autorelease]; 
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 

    [self.webView loadRequest:requestObj]; 

    [self.view addSubview:self.webView]; 
} 
+0

Ее до сих пор не работает, я сделаю новый ответ и покажет вам, как приложение создается. – ludo

2

Вот мое решение. Создать ViewController с WebView в Interface Builder и подключить WebView, как IBOutlet Этот код прост и отлично работает

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSURLRequest *request = [NSURLRequest requestWithURL:@"http://www.google.com.ua"]; 
    [webView loadRequest:request]; 
} 
+1

должно быть: NSURLRequest * request = [Запрос NSURLRequestWURUR: [NSURL URLWithString: @ "http://www.google.com"]]; но в остальном это намного меньше кода. Спасибо –

6

Использование раскадровки -

Шаг 1: Перетащите UIWebView в представлении

Шаг 2: Затем перейдите в файл .h (для этого конкретного вида) и создайте IBOutlet UIWebView. Для ПРИМЕР-

// MainViewController.h 

@interface MainViewController : UIViewController 

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

@end 

Шага 3: Переход к раскадровке и создать соединение из розетки, myWebView (Это может быть найдено в области инспектора Xcode) в UIWebView, делая контрольное сопротивление.

Шаг 4: Теперь, когда мы имеем связь, мы просто должны пойти к .м (для этой конкретной точки зрения) и добавьте следующий код -

//MainViewController.m 

@implementation MainViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSString *urlNameInString = @"https://www.google.com"; 
    NSURL *url = [NSURL URLWithString:urlNameInString]; 
    NSURLRequest *urlRequest = [NSURLRequest requestWithURL:url]; 

    [self.myWebView loadRequest:urlRequest]; 
} 

@end 
Смежные вопросы