2013-05-05 45 views
0

總結一下,我在我的應用程序中有一個瀏覽器,我希望它只啓動5個網站,沒有別的。有沒有一種方法可以讓我的瀏覽器通過設置海關字符串來啓動5個網站,如if {用戶輸入此字符串}去那個,然後其他{不加載}試圖只允許某些字符串進入URL欄

這裏是我的代碼對於URL部分

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
// Do any additional setup after loading the view from its nib. 

// go to google.com 
NSURL *urlRequest = [NSURL URLWithString:@"http://www.google.com"]; 
NSURLRequest *request = [NSURLRequest requestWithURL:urlRequest]; 

// set text bar 
urlbar.text = [urlRequest absoluteString]; 

// load request 
[webView loadRequest:request]; 

// show loading icon 
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]; 
} 

很遺憾,如果不是太詳細,或者如果我失去了一些東西,我會說我是一個初學者到這一點。

這裏是額外的代碼我有

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil: (UINavigationController *)navigationController: (Controller *)transmission 
{ 
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; 
if (self) { 
    // Custom initialization 
    self.controller = navigationController; 
    self.libtransmission = transmission; 
} 
return self; 
} 

- (IBAction)go:(id)sender 
{ 
// create url request 
NSURL *urlRequest = [NSURL URLWithString:urlbar.text]; 
NSURLRequest *request = [NSURLRequest requestWithURL:urlRequest]; 

// load request 
[webView loadRequest:request]; 

// make network icon visible 
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:YES]; 
} 
- (void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
// update urlbar 
urlbar.text = webView.request.URL.absoluteString; 

// make the loading icon disappear 
[[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO]; 
} 

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
[textField resignFirstResponder]; 
return YES; 
} 

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

回答

1

將可以訪問到一個數組的站點,然後再通過該數組,看是否在輸入的字符串數組中,這樣

NSArray *sites = @[@"http://test.com", @"http://test1.com", @"http://test2.com", @"http://test3.com", @"http://test4.com"]; 
NSString *urlToOpen = URLTextField.text; 
for (NSString *str in sites){ 
    if ([urlToOpen isEqualToString:str]){ 
     NSURL *urlRequest = [NSURL URLWithString:urlToOpen]; 
     NSURLRequest *request = [NSURLRequest requestWithURL:urlRequest]; 
     urlbar.text = [urlRequest absoluteString]; 
     [webView loadRequest:request]; 

    } 
    else{ 
     //url user entered is not one of the 5 urls 
    } 
} 
+0

非常感謝您的回覆。這對我來說很有意義,從來沒有想過這樣做,但是我在將它插入Xcode時遇到了一個問題。當我這樣做時,它收到URLTextField.text的錯誤消息,說這是一個未使用的屬性。我猜我必須在h和m文件中聲明屬性,但使用M文件時,我需要在屬性下聲明什麼?這可能不是問題,但有什麼想法? – ctyler9 2013-05-06 01:32:51

+0

那麼,在我的回答中,'URLTextField'就是你輸入地址的文本字段被調用的一個例子。將其替換爲調用任何文本字段。 – 2013-05-06 01:34:47

+0

好吧urlbar.text是迄今爲止唯一能夠安撫警告的東西,但是無論我什麼時候運行,它似乎都不起作用。還有什麼你可以建議的(我在上面發佈了更多的代碼),我現在非常沮喪,可能會過度思考這個問題。 – ctyler9 2013-05-06 02:26:13