         return cell
     }
     
-    func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
+    public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
         callback?(index(with: indexPath.row))
     }
 }
 
 extension AutoCycleAdview: UIScrollViewDelegate {
     
-    func scrollViewDidScroll(_ scrollView: UIScrollView) {
+    public func scrollViewDidScroll(_ scrollView: UIScrollView) {
         guard !imagUrls.isEmpty else {return}
         pageControl.currentPage = index(with: currentIndex())
     }
     
-    func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
+    public func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
         deinitTimer()
     }
     
-    func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
+    public func scrollViewDidEndDragging(_ scrollView: UIScrollView, willDecelerate decelerate: Bool) {
         initTimer()
     }
     
-    func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
+    public func scrollViewDidEndDecelerating(_ scrollView: UIScrollView) {
         guard !imagUrls.isEmpty else {return}
     }
 }

    
    func setAutoScroll() {
        deinitTimer()
//        if  {
            initTimer()
//        }
    }
    
    override func layoutSubviews() {
        super.layoutSubviews()
        layout.itemSize = bounds.size
        collectionView.frame = bounds

    func deinitTimer() {
        timer?.invalidate()
        timer = nil
    }
    
    public func preScroll(to: Int) {
        scroll(to: currentIndex())
    }
    
    func automaticScroll() {
