我有2个故事板(比方说SB1和SB2),在SB1中有一个iCarousel实现如下:
import UIKit
import iCarousel
class VotingViewController: UIViewController, iCarouselDataSource, iCarouselDelegate {
@IBOutlet var carouselView: iCarousel!
let SB2 = UIStoryboard(name: "SB2Name", bundle: Bundle.main)
var itemsArray:[VC2] = []
var vc2: VC2!
var somenumber:Int = 20
override func awakeFromNib() {
super.awakeFromNib()
vc2 = SB2.instantiateViewController(withIdentifier: "VC2_Page") as! VC2
}
override func viewDidLoad() {
super.viewDidLoad()
itemsArray = [VC2](repeating: vc2, count: somenumber.count)
carouselView.type = .rotary
carouselView.reloadData()
}
// MARK: - iCarousel
func numberOfItems(in carousel: iCarousel) -> Int {
return somenumber
}
func carousel(_ carousel: iCarousel, viewForItemAt index: Int, reusing view: UIView?) -> UIView {
let appVC = itemsArray[index]
self.addChildViewController(appVC)
appVC.didMove(toParentViewController: self)
appVC.view.frame = carouselView.frame
return appVC.view
}
func carousel(_ carousel: iCarousel, valueFor option: iCarouselOption, withDefault value: CGFloat) -> CGFloat {
if (option == .spacing) {
return value * 1.1
}
return value
}
}
我想使用来自@NickLockwood的iCarousel来显示Storyboard SB2中的视图但获得一些奇怪的轮播视图,其中只有一个视图显示在旋转木马中。
我被迫使用不同的故事板的控制器视图。不要在我把所有内容放在一个故事板中的地方发布答案。 THX。
也许有人知道我错过了什么?
答案 0 :(得分:0)
您需要告诉iCarousel通过实施以下内容来展示多少项:
func carousel(_ carousel: iCarousel, valueFor option: iCarouselOption, withDefault value: CGFloat) -> CGFloat {
switch option {
case .spacing:
return value * 1.0
case .wrap:
return 1
case .visibleItems:
return 7
default:
return value
}
}
答案 1 :(得分:0)