程序化实现iCarousel Swift示例

问题描述 投票:0回答:2

以下是Swift中iCarousel实现的Storyboard示例:https://github.com/nicklockwood/iCarousel/tree/master/Examples/Swift%20Example

特别是这个页面:https://github.com/nicklockwood/iCarousel/blob/master/Examples/Swift%20Example/SwiftExample/ViewController.swift

有人可以指导我如何以编程方式实现它(没有Storyboard)?

ios xcode swift ios8 icarousel
2个回答
0
投票

使用以下代码使用swift以编程方式实现iCarousel:

override func viewDidLoad()
{
    super.viewDidLoad()
    carousel = iCarousel(frame: CGRectMake(0, 0, 200, 200))
    carousel.center = view.center
    carousel.dataSource = self
    carousel.delegate = self
}

0
投票

迅捷3

private let HEIGHT_CAROUSEL: CGFloat = 100
        private func initiCarousel() {
            let carousel = iCarousel(frame: CGRect(x: 0, y: view.frame.height - HEIGHT_CAROUSEL, width: view.frame.width, height: HEIGHT_CAROUSEL))
            carousel.delegate = self
            carousel.dataSource = self
            view.addSubview(carousel)
        }

    // MARK: - iCarouselDelegate
    extension YourNameViewController: iCarouselDataSource, iCarouselDelegate {
        func numberOfItems(in carousel: iCarousel) -> Int {
            return arrr.count ?? 0
        }

        func carousel(_ carousel: iCarousel, viewForItemAt index: Int, reusing view: UIView?) -> UIView {
            var itemView: UIImageView
            itemView = UIImageView(frame: CGRect(x: 0, y: 0, width: HEIGHT_CAROUSEL, height: HEIGHT_CAROUSEL))
            itemView.contentMode = .scaleAspectFill
            if let image = url {
                itemView.setImageWithIndicator(imageUrl: image)
            }

            return itemView
        }

        func carousel(_ carousel: iCarousel, valueFor option: iCarouselOption, withDefault value: CGFloat) -> CGFloat {
            if (option == .spacing) {
                return value * 1.1
            }
            return value
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.