Как добавить метку для каждого изображения в iCarousel View Framework - PullRequest
0 голосов
/ 07 августа 2020

Я использовал iCarousel Framework в своем контроллере представления. Но я не уверен, как добавить метку под каждым изображением при прокрутке в режиме карусели. Буду признателен за вашу помощь! Спасибо!

 func numberOfItems(in carousel: iCarousel) -> Int {

return 10

}

func carousel(_ carousel: iCarousel, viewForItemAt index: Int, reusing view: UIView?) -> UIView {

let view = UIView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width/1.4, height: 300))
view.backgroundColor = .red

let imageview = UIImageView(frame: view.bounds)
view.addSubview(imageview)
imageview.contentMode = .scaleToFill
imageview.image = UIImage(named: "Dog_\(index+1)")

return view

}

func carouselDidEndScrollingAnimation() {
  
if (myCarousel.currentItemIndex == 1) {
    
    dogNameLabel.text = "Brownie!"
    
}

}

let myCarousel: iCarousel = {
let view = iCarousel()
view.type = .rotary
return view
}()

override func viewDidLoad() {
super.viewDidLoad()

view.addSubview(myCarousel)
myCarousel.dataSource = self
myCarousel.frame = CGRect(x: 0, y: 220, width: view.frame.size.width, height: 400)
}

1 Ответ

1 голос
/ 07 августа 2020

Слишком много вариантов. Вы можете создать собственное представление (xib) для повторного использования. Вам нужно поставить метку в contentView над imageView.

Но вам нужно создать такое представление.

  func carousel(_ carousel: iCarousel, viewForItemAt index: Int, reusing view: UIView?) -> UIView {
        
        let view = UIView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width/1.4, height: 300))
        view.backgroundColor = .red
        
        let imageview = UIImageView(frame: view.bounds)
        view.addSubview(imageview)
        imageview.contentMode = .scaleToFill
        imageview.image = UIImage(named: "Dog_\(index+1)")
    
        let label = UILabel()
        label.text = "Enter your text"
        label.frame = CGRect(x: 0, y: 20, width: view.frame.size.width, height: 30)
        //or use constraints
    
        view.addSubview(label)
        
        return view
        
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...