Ios 拉动以刷新UIWebView?
我正在尝试在加载网站的Ios 拉动以刷新UIWebView?,ios,swift,uiwebview,Ios,Swift,Uiwebview,我正在尝试在加载网站的UIWebView上进行刷新。 UIWebView的代码非常简单 import UIKit class ViewController: UIViewController { @IBOutlet weak var WebView: UIWebView! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loa
UIWebView
上进行刷新。
UIWebView
的代码非常简单
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var WebView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let URL = NSURL(string: "https://the url/")
WebView.loadRequest(NSURLRequest(URL: URL!))
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
有没有人举过任何例子,因为无论我搜索什么,我只在TableView上找到了刷新的pull,我不确定它是否也适用于这个例子
谢谢
更新1。在Sohil的建议下,代码如下
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var WebView: UIWebView!
@IBOutlet weak var scrollView: UIScrollView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let URL = NSURL(string: "https://iremember.gr/")
WebView.loadRequest(NSURLRequest(URL: URL!))
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
func scrollViewWillEndDragging(scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
if (scrollView.contentOffset.y < 0){
//reach top
print("Reach Top")
WebView.reload()
}
else {
print("nothing")
}
}
}
}
导入UIKit
类ViewController:UIViewController{
@ibvar-WebView:UIWebView!
@iBCROLLVIEW:UIScrollView!
重写func viewDidLoad(){
super.viewDidLoad()
//加载视图后,通常从nib执行任何其他设置。
让URL=NSURL(字符串:https://iremember.gr/")
loadRequest(NSURLRequest(URL:URL!))
}
重写函数didReceiveMemoryWarning(){
超级。我收到了记忆警告()
//处置所有可以重新创建的资源。
func ScrollViewWillendDraging(scrollView:UIScrollView,withVelocity:CGPoint,targetContentOffset:UnsafemeutablePointer){
if(scrollView.contentOffset.y<0){
//到达顶端
打印(“到达顶部”)
WebView.reload()
}
否则{
打印(“无”)
}
}
}
}
但是当我尝试重新加载它时,它甚至不打印“nothing”。您可以使用
UIScrollView
来完成该任务。首先,您需要检查用户是将UIWebView
拉向“上”还是“下”,因为下面的代码将帮助查看,然后重新加载UIWebView
:
func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
if (scrollView.contentOffset.y < 0){
//reach top
print("Reach Top")
webView.reload()
}
}
webView.scrollView.delegate = self
希望这有帮助 你好,你能做到吗
- (void)viewDidLoad {
webViewHome.scrollView.delegate = self;
// Refresh UIControl
refreshControl = [[UIRefreshControl alloc]init];
[webViewHome.scrollView addSubview:refreshControl];
[refreshControl addTarget:self action:@selector(refreshWebview) forControlEvents:UIControlEventValueChanged];
}
Refresh method
- (void)refreshWebview {
//TODO: refresh your data
[refreshControl endRefreshing];
[self loadWebviewWithUrl:kLoginUrl];
}
I add refresh control in Did Load method. then I define refresh controller method and in that, I reload my webview.
我在webview后面添加了一个滚动视图,我还添加了您的代码,但它不起作用。@Kwntantinosnatsios bro
UIWebView
嵌入了UIScrollView
,所以您只需将此委托给它!是的,你是对的。我就是这么做的,而且成功了d确保包含UIScrollViewDelegate和UIWebViewDelegate为什么在didReceiveMemoryWarning
?@jrturton的实现中添加滚动视图委托方法?因为我是新手,当我更改它时,它还可以。哈哈哈