Ios 使用presentViewController转到BW漫游视图控制器中的特定视图
我正在使用BBWalkthrough(),我想直接从Ios 使用presentViewController转到BW漫游视图控制器中的特定视图,ios,swift,uiscrollview,presentviewcontroller,Ios,Swift,Uiscrollview,Presentviewcontroller,我正在使用BBWalkthrough(),我想直接从presentViewController转换转到bwalkthroughviewcontroller的UIScroll视图中的特定页面 我该怎么做?注意,我没有使用segues,因为viewController位于不同的故事板中 如果我对BBWalkthroughViewController实例的子VC执行presentViewController(),则它显示良好,但您无法从该视图中滚动(即,您在视图中,但没有滚动功能,因为它没有任何与其他
presentViewController
转换转到bwalkthroughviewcontroller的UIScroll视图中的特定页面
我该怎么做?注意,我没有使用segues,因为viewController位于不同的故事板中
如果我对BBWalkthroughViewController实例的子VC执行presentViewController()
,则它显示良好,但您无法从该视图中滚动(即,您在视图中,但没有滚动功能,因为它没有任何与其他视图的链接)
我只需调用
@IBAction func nextPage()
遍历方法所需的次数。这相当于模拟用户页面点击并完成动画,这可能是一个bug,也可能是一个特性
要么就是这样,要么就是破解代码的源代码——这就是开源的重点。:-)只需将gotoPage()
函数设为非私有函数,并从上面的代码中调用一次即可。没有充分的理由让设计将该功能私有化
在这两种情况下,我相信您必须作为完成处理程序的一部分这样做
示例:
// Assuming you've removed 'private' from the gotoPage() function
self.presentViewController(walkthrough, animated: true) { walkthrough.gotoPage(3) }
或:
self.presentViewController(演练,动画:true){
对于0中的uu..您想做的是,首先转到页码,然后保持页面顺序。是的,因此转到scrollview保持原样并打开goto页面。从那里使用scrollview,就像您在第0页输入一样。我使用了gotoPage()将其设置为非私有。为了使其在viewControl中可调用,我在委托方法中创建了协议:@objc optional func gotoPage(page:Int)//转到第页,但是我在viewController中使用iAction func gotPage3(发送方:AnyObject){gotoPage(3)}得到错误:“使用未解析标识符‘gotoPage’”BWWalkthroughViewController是一个具体的类,而不是协议,因此您可以省略该协议方法。(不管怎么说,它会去哪里?)只有委托是一个协议,但这是一个回调——当BWW对象调用您的VC时(BWW->控制父VC)。我们在这里做的是另一种方式(父VC->操纵BWW)。我删除了协议,但无论我做什么,我都不知道如何在viewController中调用gotoPage以在BWWalkthroughViewController中调用。感谢它在英国真的很晚了(凌晨2:30),所以我明天会这样做。第一个示例非常有效,第二个示例即使我更改了
// Assuming you've removed 'private' from the gotoPage() function
self.presentViewController(walkthrough, animated: true) { walkthrough.gotoPage(3) }
self.presentViewController(walkthrough, animated: true) {
for _ in 0..<3 {
walkthrough.nextPage()
}
}