gpt4 book ai didi

ios - 使用 iCarousel 正确显示另一个 Storyboard 中的 Controller View

转载 作者:行者123 更新时间:2023-11-30 12:23:12 25 4
gpt4 key购买 nike

我有 2 个 Storyboard(比如说 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 中的 View ,但得到一些奇怪的轮播 View ,轮播中仅显示其中一个 View 。

我被迫使用不同 Storyboard的 Controller View 。不要在我将所有内容放在一个 Storyboard中的情况下发布答案。谢谢。

也许有人知道我错过了什么?

enter image description here

最佳答案

您需要通过实现类似以下内容来告诉 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
}

}

关于ios - 使用 iCarousel 正确显示另一个 Storyboard 中的 Controller View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44541078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com