FSPagerview - возможно ли использовать это внутри повторяющейся ячейки? - PullRequest
0 голосов
/ 26 сентября 2019

(я следовал этому уроку: https://github.com/WenchaoD/FSPagerView#implement_fspagerviewdatasource)

, и он работает, когда просмотр пейджера не находится внутри просмотра таблицы или если просмотр таблицы статический, но происходит сбой, если просмотр пейджера находится в динамической таблице.

Это код

    @IBOutlet weak var pagerView: FSPagerView! {
        didSet {
            self.pagerView.register(FSPagerViewCell.self, forCellWithReuseIdentifier: "cell")
        }
    }

    public func numberOfItems(in pagerView: FSPagerView) -> Int {
        return 1
    }

    public func pagerView(_ pagerView: FSPagerView, cellForItemAt index: Int) -> FSPagerViewCell {
        let cell = pagerView.dequeueReusableCell(withReuseIdentifier: "cell", at: index)
        cell.imageView?.image = #imageLiteral(resourceName: "four")
        cell.textLabel?.text = "..."
        return cell
    }

, и всякий раз, когда я запускаю его, он вылетает с

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', 
reason: '-[test.HomeTableViewController numberOfItemsInPagerView:]: unrecognized
selector sent to instance 0x7fb644e1dfc0'
***

Может кто-нибудь помочь мне или указать мне правильное направление накак использовать это внутри динамического представления таблицы?(или, может быть, каким-то другим способом разместить скользящий баннер внутри динамической ячейки табличного представления?)

1 Ответ

0 голосов
/ 26 сентября 2019

Я понял это.Если кто-то получит такую ​​же ошибку в будущем.Обычно мы всегда добавляем данные / информацию о содержимом ячейки в классе ячеек, а не в вызове таблицы.

Но здесь, добавление соответствующих кодов в классе ячеек дает вышеупомянутую ошибку.

Чтобы решитьэту проблему просто добавьте в класс таблицы

class TableViewControllers: UIViewController,FSPagerViewDelegate,
FSPagerViewDataSource,UITableViewDelegate,UITableViewDataSource {


// MARK: - PagerView
    func numberOfItems(in pagerView: FSPagerView) -> Int {
        return 10
    }

    func pagerView(_ pagerView: FSPagerView, cellForItemAt index: Int) -> FSPagerViewCell {
                let cell = pagerView.dequeueReusableCell(withReuseIdentifier: "cell", at: index)
        cell.imageView?.image = #imageLiteral(resourceName: "four")
      //  cell.textLabel?.text = "..."
        return cell
    }

, а в класс ячеек добавьте

    @IBOutlet weak var pagerView: FSPagerView! {
        didSet {
            self.pagerView.register(FSPagerViewCell.self, forCellWithReuseIdentifier: "cell")
        }
    }

и подключите его к FSPagerView.

С уважением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...