国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Swift > 正文

Swift如何為網(wǎng)頁承載頁面添加更多功能詳解

2020-03-09 17:31:57
字體:
供稿:網(wǎng)友

前言

上一篇文章,我們在設置中心通常會跳轉(zhuǎn)到某一個網(wǎng)頁承載頁面,而通常我們會添加一些功能來提升他的體驗。

1.添加菊花加載的效果

2.添加跳轉(zhuǎn)到Safari的功能

3.添加復制鏈接的功能

4.添加分享網(wǎng)頁的功能

首先,以WebViewController為例,我們要創(chuàng)建一個UIWebView;然后創(chuàng)建了三個功能按鈕在左側(cè)、一個關閉頁面的按鈕在右側(cè),并且為他們分別綁定;加載按鈕的顯示和隱藏直接通過代碼實現(xiàn)。頭部狀態(tài)的代碼如下:

class WebViewController: UIViewController,UIWebViewDelegate{ let spinner = UIActivityIndicatorView() @IBOutlet weak var WebView: UIWebView! @IBAction func CloseAction(_ sender: Any) {  self.dismiss(animated: true, completion: nil) } @IBAction func SafariAction(_ sender: Any) {  self.toSafari() } @IBAction func CopyAction(_ sender: Any) {  self.toCopy() } @IBAction func MoreAction(_ sender: Any) {  self.toMore() }

一、添加菊花加載的效果

加載按鈕需要在頁面加載時立刻出現(xiàn)在正中央,并且開始旋轉(zhuǎn)指導頁面成功加載后隱藏。

先加在頁面加載時立刻出現(xiàn)加載菊花,代碼如下:

override func viewDidLoad() {  super.viewDidLoad()  //菊花按鈕  spinner.activityIndicatorViewStyle = .gray  spinner.center = view.center  spinner.hidesWhenStopped = true  view.addSubview(spinner)  spinner.startAnimating()  self.loadWeb()  // Do any additional setup after loading the view.}

之后webViewDidFinishLoad檢測了頁面加載的狀態(tài),當加載完成后立刻隱藏并且停止菊花旋轉(zhuǎn),代碼如下:

func webViewDidFinishLoad(_ webView: UIWebView) {  print("web load finish")  self.spinner.stopAnimating() }

二、添加跳轉(zhuǎn)到Safari的功能

初始化時已經(jīng)綁定了打開瀏覽器的函數(shù)toSafari,打開瀏覽器的操作就很簡單了:

@objc func toSafari(){  print("to safari")  if let url = NSURL(string:self.url) {   UIApplication.shared.open(url as URL, options: [:], completionHandler: nil)  }}

三、添加復制鏈接的功能

復制網(wǎng)頁信息的方法toCopy,我們可以將標題和鏈接同時復制,代碼如下:

@objc func toCopy(){  print("to copy")  //就這兩句話就實現(xiàn)了  let paste = UIPasteboard.general  let str = self.urlTitle+":"+self.url  print(str)  paste.string = str  let alertController = UIAlertController(title: NSLocalizedString("Copy Success!",comment: "Copy Success!"),message: nil,preferredStyle: .alert)  //顯示提示框  self.present(alertController, animated: true, completion: nil)  //兩秒鐘后自動消失  DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2) {   self.presentedViewController?.dismiss(animated: false, completion: nil)  }}

四、添加分享網(wǎng)頁的功能

分享網(wǎng)頁的方法toMore,采用了類似于分享應用的方式,這是這里的內(nèi)容我們改為網(wǎng)頁的信息,比如網(wǎng)頁的標題、鏈接、頭圖,代碼如下:

@objc func toMore(){  print("to more")  let shareVC:UIActivityViewController = UIActivityViewController(activityItems: [self.urlTitle,self.urlImage,self.url], applicationActivities: nil)  self.present(shareVC, animated: true, completion: {   print("more success")  }) }

一個特性三個功能是不是很簡單?當然你需要再添加一個關閉按鈕。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網(wǎng)的支持。


注:相關教程知識閱讀請移步到swift教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 鹤壁市| 西宁市| 普格县| 双鸭山市| 清水县| 德安县| 龙泉市| 汪清县| 阳春市| 孝昌县| 城固县| 电白县| 太保市| 巢湖市| 河南省| 南平市| 大渡口区| 南康市| 涞水县| 乐亭县| 镇巴县| 靖宇县| 民和| 枣强县| 手游| 大化| 都昌县| 舞钢市| 宿州市| 三亚市| 文登市| 双峰县| 泾川县| 定结县| 来宾市| 青阳县| 望城县| 叶城县| 莱州市| 潢川县| 洪雅县|