LvJianfeng / LLCycleScrollView

Swift - 轮播图,文本轮播,支持左右箭头
MIT License
373 stars 65 forks source link

没有点击回调 #11

Closed 623034345 closed 7 years ago

623034345 commented 7 years ago

demo里面没写 ....

LvJianfeng commented 7 years ago

@623034345 Demo有的呢。

let bannerDemo = LLCycleScrollView.llCycleScrollViewWithFrame(CGRect.init(x: 0, y: titleDemo.ll_y + 80, width: w, height: 200), imageURLPaths: imagesURLStrings, titles:titles, didSelectItemAtIndex: { index in
    print("当前点击图片的位置为:\(index)")
})
623034345 commented 7 years ago

只能初始化的时候用吗? 能单独调用吗? 刚学Swift 对block不熟悉0.0

LvJianfeng commented 7 years ago

@623034345 这边我写初始化的时候给闭包赋值呢,点击才回调呢。如果没实现闭包,就没有回调的。

623034345 commented 7 years ago

哦,谢谢了

bugaco commented 7 years ago

也可以在初始化之后调用,如下:

  1. 声明一个回掉方法:
    func llDidSelectItemAtIndex(index: Int){
        print("轮播图的第\(index)项被点击了")
    }
  2. 赋值
    bannerDemo.lldidSelectItemAtIndex = llDidSelectItemAtIndex(index:)
LvJianfeng commented 7 years ago

@zanyzephyr 不用这么麻烦呢,实现代码逻辑较多,可以在回调里面去调用你声明的方法呢。

bannerDemo.lldidSelectItemAtIndex = { index in
    tapAction(index)
}
或者直接在初始化的时候去调用

let bannerDemo = LLCycleScrollView.llCycleScrollViewWithFrame(CGRect, imageURLPaths: imagesURLStrings, didSelectItemAtIndex: { index in
    tapAction(index)
})

func tapAction(_ index: Int) {
    // Action Code
}
bugaco commented 7 years ago

@LvJianfeng 第一种写法简洁了好多👍