я прокручиваю слева и справа в collectionView, нажимая кнопку по горизонтали, она работает хорошо, но я не знаю, как скрыть кнопку, когда в стороне collectionView больше нет элемента. кнопка предварительного просмотра будет скрываться, когда в левой части больше не будет элемента, а следующая кнопка будет скрыта, когда в правой части больше не будет элемента. вот код левой и правой кнопки
let arrow_leftBtn: UIButton = {
let btn = UIButton()
btn.setImage(UIImage(named: "arrow_left"), for: .normal)
btn.addTarget(self, action: #selector(arrowLeftBtnClick), for: .touchUpInside)
return btn
}()
func arrowLeftBtnClick() {
let collectionBounds = self.collectionView?.bounds
let contentOffset = CGFloat(floor((self.collectionView?.contentOffset.x)! - (collectionBounds?.size.width)!))
self.moveToFrame(contentOffset: contentOffset)
}
let arrow_rightBtn: UIButton = {
let btn = UIButton()
btn.setImage(UIImage(named: "arrow_right"), for: .normal)
btn.addTarget(self, action: #selector(arrowRightBtnClick), for: .touchUpInside)
return btn
}()
func arrowRightBtnClick() {
let collectionBounds = self.collectionView?.bounds
let contentOffset = CGFloat(floor((self.collectionView?.contentOffset.x)! + (collectionBounds?.size.width)!))
self.moveToFrame(contentOffset: contentOffset)
}
func moveToFrame(contentOffset : CGFloat) {
let frame: CGRect = CGRect(x : contentOffset ,y : self.collectionView!.contentOffset.y ,width : self.collectionView!.frame.width,height : self.collectionView!.frame.height)
self.collectionView?.scrollRectToVisible(frame, animated: true)
}
func setupLeftAndRightArrow() {
view.addSubview(arrow_leftBtn)
view.addSubview(arrow_rightBtn)
view.addConstraintsWithFormat("H:|-20-[v0(20)]", views: arrow_leftBtn)
view.addConstraintsWithFormat("V:|-180-[v0(20)]|", views: arrow_leftBtn)
view.addConstraintsWithFormat("H:[v0(20)]-30-|", views: arrow_rightBtn)
view.addConstraintsWithFormat("V:|-180-[v0(20)]|", views: arrow_rightBtn)
}
UICollectionView
? - person Mathi Arasan   schedule 23.08.2017UICollectionViewItem
имеет полную ширину, используйте количество элементов представления коллекции(array.count-1)*screen_width==currentcontentOffset
для правой кнопки и0==contentOffset
для левой кнопки. Проверьте этот ответ на прокрутку - person Mathi Arasan   schedule 23.08.2017scrollViewDidEndDecelerating
вместоscrollViewDidScroll
. Тем не менее, это не то, что вы хотите, пожалуйста, обновите свой вопрос. Вы не упомянули ничего, связанного с прокруткой, чтобы скрыть. - person Mathi Arasan   schedule 23.08.2017