2011-08-19 47 views
1

出於法律原因,我有義務在我的應用程序中顯示服務條款,在外部服務器上顯示PDF。我認爲最容易做的是創建一個UIBarButton項目,然後創建一個IBAction來啓動Safari中的鏈接。如何創建一個鏈接到Safari的按鈕?

所以我創建了一個按鈕:

IBOutlet UIBarButtonItem *legal; 

然後,我把它做成非原子屬性和合成它在我的實現文件,對不對?我繼續創建一個IBAction:

-(IBAction)legalButtonPressed:(id)sender; 

我進入我的實現文件,這裏是問題出現的地方。談到定義這些行爲,我變得困惑。由於我是iOS開發新手,我可以使用一些指導。我不知道如何強制鏈接進入Safari的行動。任何幫助將不勝感激!

謝謝!

回答

6

IBOutlet和IBActions用於Interface Builder連接。如果您的UIBarButtonItem位於xib文件中,則可以通過右鍵單擊文件所有者對象將其操作連接到控制器。與出口一樣。

一旦你在廈門國際銀行文件連接到按鈕控制器的動作,(我認爲沒有必要在這裏得到一個出口),你只要實現方法如下:

-(IBAction)legalButtonPressed:(id)sender { 
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"http://yourdomain.com/legal.pdf"]]; 
} 

這將使用給定的網址自動打開Safari瀏覽器

5

看看UIApplication的文檔,它有一個openURL方法,你可能會覺得有用。

1

另一種選擇是將您的法律文本包含在UITextView中。

例子: 點擊加入您同意公司 服務條款,發現這裏:http://www.site.com/tos.html和 隱私政策,網址爲:http://www.site.com/privacy.html

確保鏈路檢測在UITextView開啓,它會自動將識別URL。對這些網址的任何點擊都會自動啓動Safari。

0

雖然你可以這樣做(即在Safari中啓動鏈接)。我建議你儘可能在用戶應用中儘可能地保持用戶。我猜這個法律條款是一個HTML文檔?

你可以使用UIWebView來做到這一點。初始化webView並執行此操作 -

NSURL *url  = [NSURL URLWithString:webAddress]; 
NSURLRequest *req = [NSURLRequest requestWithURL:url]; 
[webView loadRequest:req]; 

這將只在您的應用程序中打開url!您可以使UIWebView作爲模式窗口或以許多其他方式打開...

相關問題