gpt4 book ai didi

ios - 在没有 Storyboard的情况下使用 BWWalkthrough 库,Walkthrough Custom

转载 作者:行者123 更新时间:2023-11-28 05:27:56 27 4
gpt4 key购买 nike

我正在使用 BWWalkthrough我个人演练的图书馆。它的实现非常简单,但是我在使用 BWWalkthroughViewController 时犯了一个错误:我不会使用 Storyboard 来创建这个主 Controller ,所以我通过代码创建了自定义 View ,然后在 BWWalkthroughViewController 的 viewDidLoad 中设置了 View 和 pageControl。其余代码与 github 存储库中的示例相同。

也就是BWWalkthroughViewController的viewDidLoad:

override func viewDidLoad() {
super.viewDidLoad()
let welcomeview: WelcomeView = WelcomeView() // my custom view
view = welcomeview
self.pageControl = welcomeview.pageControl
...
}

并且,因为它是第一个 View ,所以 rootViewController 设置为修改了 viewDidLoad 的 BWWalkthroughViewController。所以我有一个用于在 AppDelegate.swift 中设置此演练的函数:

func showWelcomeView() -> BWWalkthroughViewController{
let storyboard = UIStoryboard(name: "Welcome", bundle: nil)

let walkthrough: BWWalkthroughViewController = BWWalkthroughViewController()
let page_zero = storyboard.instantiateViewControllerWithIdentifier("walk_0") as! UIViewController
let page_one = storyboard.instantiateViewControllerWithIdentifier("walk_1") as! UIViewController
let page_two = storyboard.instantiateViewControllerWithIdentifier("walk_2") as! UIViewController
let page_three = storyboard.instantiateViewControllerWithIdentifier("walk_3") as! UIViewController
let page_four = storyboard.instantiateViewControllerWithIdentifier("walk_4") as! UIViewController

walkthrough.delegate = self
walkthrough.addViewController(page_zero)
walkthrough.addViewController(page_one)
walkthrough.addViewController(page_two)
walkthrough.addViewController(page_three)
walkthrough.addViewController(page_four)




return walkthrough
}

我在这里使用那个函数:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.


self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
self.window?.rootViewController = showWelcomeView() // func usedhere
return true
}

应用程序运行无误。我可以看到我的自定义 View 和所有 4 个 subview (walk_0 ... walk_4)并且我可以滑动它们但不正确:可滚动是免费的并且不会在每一页上停止。

所以...我错过了自定义 View 的某些步骤?请帮助我!

这是我的 iPhone 屏幕截图,滚动条位于两个 subview 之间:enter image description here

最佳答案

我已经通过在 BWWalkthroughViewController 中使用 scrollview 的属性修复了这个问题

override func viewDidLoad() {
super.viewDidLoad()

..

scrollview.pagingEnabled = true
}

工作正常,但不知道为什么。该 ScrollView 的默认值是 pagingeEnabled = true 在 init 中设置:

required init(coder aDecoder: NSCoder) {
// Setup the scrollview
scrollview = UIScrollView()
scrollview.showsHorizontalScrollIndicator = false
scrollview.showsVerticalScrollIndicator = false
scrollview.pagingEnabled = true // Default of scrollview

// Controllers as empty array
controllers = Array()

super.init(coder: aDecoder)
}

关于ios - 在没有 Storyboard的情况下使用 BWWalkthrough 库,Walkthrough Custom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30258686/

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