Ios 在自定义tableviewCell类中未调用ScrollView委托 我正在使用UITableViewCell自定义类 使用Scrollview在tableviewcell中进行水平滚动 在UIViewcontroller 在UITableviewcell类中写入scrollview委托 未调用委托方法
我的代码:Ios 在自定义tableviewCell类中未调用ScrollView委托 我正在使用UITableViewCell自定义类 使用Scrollview在tableviewcell中进行水平滚动 在UIViewcontroller 在UITableviewcell类中写入scrollview委托 未调用委托方法,ios,objective-c,swift,uitableview,uiscrollview,Ios,Objective C,Swift,Uitableview,Uiscrollview,我的代码: class ViewController: UIViewController { @IBOutlet weak var matchesTableView: UITableView! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. matchesTableView.delegate = self m
class ViewController: UIViewController {
@IBOutlet weak var matchesTableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
matchesTableView.delegate = self
matchesTableView.dataSource = self
tableViewSetup()
}
func tableViewSetup() {
matchesTableView.rowHeight = UITableView.automaticDimension
matchesTableView.estimatedRowHeight = self.view.bounds.height
matchesTableView.tableFooterView = UIView()
matchesTableView.separatorStyle = UITableViewCell.SeparatorStyle.none
}
}
// MARK: UITableviewdelegate
extension ViewController : UITableViewDelegate, UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "TableViewCell", for: indexPath) as! TableViewCell
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return self.view.bounds.height
}
}
UITableView Cell:
import UIKit
class TableViewCell: UITableViewCell, UIScrollViewDelegate {
@IBOutlet weak var bannerScrollView: UIScrollView!
@IBOutlet weak var matchesPageControl: UIPageControl!
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code+
self.bannerScrollView.delegate = self
}
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let pageNumber = round(scrollView.contentOffset.x / scrollView.frame.size.width)
matchesPageControl.currentPage = Int(pageNumber)
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
}
看起来还可以,您确定滚动视图确实在滚动吗?只需记录滚动内容偏移量。可能触摸被tableView单元格中的某些东西吸收了。TBH在单元格中放置滚动视图看起来很奇怪。我想知道是否还有其他方法。Tableview滚动工作正常,scrollview滚动也很完美。我的问题是没有调用scrollview委托。这样我就不能使用页面控件了。谢谢在ViewController类中添加此方法--func-scrollViewDidScroll(scrollView:UIScrollView){let pageNumber=round(scrollView.contentOffset.x/scrollView.frame.size.width)matchesPageControl.currentPage=Int(pageNumber)},并检查是否调用了它。如果是,那是因为UITableViewDelegate inturns符合UIScrollViewDelegate。@非常感谢帮助。。!你救了我一天。工作很好。@SASIKUMAR很乐意帮忙