大家好!)需要一些幫助!)
如何在 SFSafariViewController 中以間隔打開 UITextField 的任何 URL 鏈接?
這就是我說“任何鏈接”時的意思……
首先:我的意思是,如果我們有完整的鏈接https:// ..,比如:https://www.google.com/ 在這種情況下,鏈接應該以 3 秒的間隔自動打開。
第二:如果我們有沒有https:// .. 的鏈接,例如:www.google.com 在這種情況下 - https://必須自動添加,那么鏈接應該以 3 秒的間隔自動打開。
第三個:如果我們只有stackoverflow.com而沒有https://www ..,那么 - https://www必須自動添加,然后鏈接應該以 3 秒的間隔自動打開。
代碼:
import UIKit
import Foundation
import SafariServices
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if let urlString = linkTextField.text {
let url: URL?
if urlString.hasPrefix("http://") {
url = URL(string: urlString)
} else {
url = URL(string: "http://" urlString)
}
if let url = url {
let sfViewController = SFSafariViewController(url: url)
self.present(sfViewController, animated: true, completion: nil)
print ("Your link was opened in SFSafariViewController")
}
}
return true
}
你有什么想法如何實作這個嗎?)謝謝你的每一個回答!)
uj5u.com熱心網友回復:
即使我不認為它會是一個好的用戶界面(例如,用戶在輸入時正在思考并且花費太長時間),請使用DispatchQueue.main.asynAfter:
DispatchQueue.main.asynAfter(deadline: .now() numberOfSeconds) {
let sfViewController = SFSafariViewController(url: url)
self.present(sfViewController, animated: true, completion: nil)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/507552.html
標籤:IOS 迅速 uikit sfsafariview 控制器
