我已经从iOS tableview how can I check if it is scrolling up or down获得了解决方案,回答了如何测试用户是否向上或向下滚动并已实现到我的代码中。在第一个带有UITableView的viewcontroller中,这段代码运行得非常好,但对于另一个类似UITableView的代码,这不起作用。我已经检查过我可能犯过的任何错误,例如在不同的函数中意外引用这些错误,或者在定义我的类时没有引用UIScrollViewDelegate,但根据解决方案,这不是必需的“UITableViewDelegate”已经是UIScrollViewDelegate的子类。“
这是我应该调用的代码,但它没有(我计划根据用户向上或向下移动来动画视图控制器上的某些组件):
var lastContentOffset: CGFloat = 0
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
self.lastContentOffset = scrollView.contentOffset.y
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if (self.lastContentOffset < scrollView.contentOffset.y) {
UIView.animate(withDuration: 0.2, animations: { () -> Void in
self.listTableView.frame = CGRect(x:0 ,y: 36,width: self.view.bounds.width,height: self.view.bounds.height - 36)
})
} else if (self.lastContentOffset > scrollView.contentOffset.y) {
UIView.animate(withDuration: 0.2, animations: { () -> Void in
self.listTableView.frame = CGRect(x:0 ,y: 131,width: self.view.bounds.width,height: self.view.bounds.height - 131)
})
} else {
}
}
到目前为止,我已经尝试打印一个文本,只是为了看看它是否只是我的动画错误,但没有任何反应。以下是有关其余代码的更多背景信息:
我确实为viewController中的另一个功能实现了两个UISwipeGestures和一个UITapGesture
我在此代码之前定义并设置了tableView,但这不应该有所作为
我的tableView收集的信息是通过一些Web请求,这需要很长时间但仍有一段时间 - 我已经为它编写了一个函数
有时,blurViewController和ContainerViewController完全覆盖tableView,但我已经开发了一个代码,可以根据请求将这些设置为后台,以免影响tableView的功能
这不是UITableViewController,而是部分覆盖UIViewController的UITableView
答案 0 :(得分:2)
你是否将scrollView委托设置为self?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
self.scrollView.delegate = self
}
答案 1 :(得分:0)
import re
import time
import requests
from bs4 import BeautifulSoup
import pandas as pd
def main():
html = requests.get("https://economictimes.indiatimes.com/marketstats/pageno-1,pid-58,sortby-CurrentYearRank,sortorder-asc,year-2017.cms")
soup = BeautifulSoup(html.text, 'html.parser')
jstr = {}
lis = []
code = ''
comp = ''
for link in soup.find_all(class_='w170 alignL'):
print(link.get('href'))
Name1 = link
Name11 = str(Name1)
Name2 = Name11.lstrip('</b>')
Name = Name2.rstrip('</b>')
print(Name)
input()
try:
data = {'Name': Name}
print('\n \n')
lis.append(data)
li = []
p = re.compile('\w+')
processed_texts = []
processed_texts = p.findall(str(data))
print("processed_texts",processed_texts)
except:
pass
if __name__ == '__main__':
main()