2012-08-10 39 views
0

我可以在選項卡式應用程序中做到這一點,沒問題,但讓它在單視圖應用程序(使用xib)中工作令我瘋狂。UIWebView在單個視圖中困惑應用程序

我創建了一個新類WebViewController。標題是:

#import <Foundation/Foundation.h> 
#import "GHViewController.h" 

@interface GHWebViewController : UIViewController <UIWebViewDelegate> 
{ 
    IBOutlet UIWebView *webView; 
} 

@property (nonatomic, retain) UIWebView *webView; 

@end 

和實現是:

#import "GHWebViewController.h" 

@implementation GHWebViewController 

@synthesize webView = _webView; 

-(void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSString *[email protected]"http://www.amazon.com/Books-by-Joel-Derfner/lm/RVZNXKV59PL51/ref=cm_lm_byauthor_full"; 
    NSURL *url = [NSURL URLWithString:fullURL]; 
    NSURLRequest *requestObj = [NSURLRequest requestWithURL:url]; 
    [webView loadRequest:requestObj]; 
} 

@end 

到目前爲止,一切都很好。但轉到網絡視圖只有幾個可用的選項(通過欄按鈕)。因此,我已將UIWebView添加到我的ViewController,但將其隱藏,直到用戶按下按鈕以轉到網頁視圖。

而這裏是我卡住的地方。我已經嘗試將其作爲該代表的一個代表,並且是另一方面的代表,並且我無法辨別什麼是正確的和錯誤的,並且WebViewController中的IBOutlet將不會連接到我的ViewController中的任何內容,而我越來越混亂。我試着爲WebViewController添加另一個xib,但這只是導致災難。我在這裏沒有深入。

所以我多部分的問題是:

  1. 使用UIWebView爲幾個選項之一,因爲我已經描述了可能的單一視圖應用?
  2. 如果是這樣,我需要做些什麼來完成它 - 考慮a)委派,b)代碼和c)用戶界面中的連接?
  3. 如果不是,我該如何處理任務呢?

關閉以查看Total Recall。也許這將清除我的頭....

+0

從你的描述,一組欄按鈕,將備用的意見之間進行選擇,這聽起來像一個標籤視圖控制器是你需要什麼,還是要看它的另一種方式,你有幾分重塑它。你爲什麼決定放棄它? – idz 2012-08-11 00:26:14

+0

這很愚蠢,但是。 。 。我喜歡比黑色條更好的灰色條。 – 2012-08-11 14:37:36

+0

(以及按鈕的外觀等) – 2012-08-11 14:52:07

回答

1

我不太確定,如果我完全理解你的問題;段前的3個問題是有些混亂...

但一些想法:

  1. 你不需要在接口伊娃。 ESP。您的伊娃爾宣言中不應該有IBOutlet。如果您需要IBOutlet,它應該在您的@property聲明中,而不是您的伊娃。

  2. 也許你並不真的需要IBOutlet。即你不需要把你的webView放在xib上。 (你可以,如果你想,但你不需要)

  3. 所以你可以只需要一個IBAction連接一個按鈕。當點擊該按鈕時,您可以alloc init您的webView(並設置其框架),將其添加到您的self.view,並設置webview.delegate = self什麼的。

  4. 然後你可以處理loadURL和東西一樣。當你再次點擊該按鈕(或其他按鈕)時,只需從視圖中移除webview。

+0

而完全照顧它!謝謝! – 2012-08-11 14:37:52