【发布时间】:2015-12-08 04:53:35
【问题描述】:
我想在单击 navigationItem 时滚动视图。 但是..这里有一些错误。
我想制作类似 snapchat 的滚动视图。 它工作正常,但是......当我从 viewdidload 函数中调用 scrollView 时,scrollView 为零!
我已经制作了类似滑动视图的 snapchat。但是我想在单击导航项(心形标记)时进行滑动视图。
我的 ViewController viewdidload func - 它工作正常
@IBOutlet weak var scrollView: UIScrollView!
var V1 : LeftViewController = LeftViewController(nibName: "LeftViewController", bundle: nil)
var V2 : CenterViewController = CenterViewController(nibName: "CenterViewController", bundle: nil)
var V3 : RightViewController = RightViewController(nibName: "RightViewController", bundle: nil)
override func viewDidLoad() {
super.viewDidLoad()
self.addChildViewController(V1)
self.scrollView.addSubview(V1.view)
V1.didMoveToParentViewController(self)
self.addChildViewController(V2)
self.scrollView.addSubview(V2.view)
V2.didMoveToParentViewController(self)
self.addChildViewController(V3)
self.scrollView.addSubview(V3.view)
V3.didMoveToParentViewController(self)
var V2Frame : CGRect = V2.view.frame
V2Frame.origin.x = self.view.frame.width
V2.view.frame = V2Frame
var V3Frame : CGRect = V3.view.frame
V3Frame.origin.x = 2 * self.view.frame.width
V3.view.frame = V3Frame
println(self)
println(scrollView)
println(V2.view.frame)
self.scrollView.setContentOffset(CGPointMake(V2Frame.origin.x, self.view.frame.size.height), animated: false)
self.scrollView.contentSize = CGSizeMake(self.view.frame.width * 3, self.view.frame.size.height) }
我的 ViewController clickEvent func - 为什么 scrollView 为零?
func clickEvent() {
self.scrollView?.scrollRectToVisible(V2.view.frame, animated: true)
println(self)
println(scrollView)
println(V2.view.frame)
//self.scrollView.setContentOffset(CGPointMake(V2.view.frame.origin.x, self.view.frame.size.height), animated: true)
}
我从其他 CenterViewController 调用 Viewcontroller 中的 clickEvent - 它可以正常调用但是...在 ViewController clickEvent 函数中的 scrollView 是 nil .. 我该如何解决它?
func clickEvent(sender: AnyObject) {
ViewController().clickEvent()
}
【问题讨论】:
-
这些行: let scrollView = UIScrollView(frame: CGRect(x: 0.0, y: 0.0, width: 320.0, height: 568.0)) 和 self.scrollView?.scrollRectToVisible(V2.view.frame , animated: true) 引用不同的滚动视图。
-
是的,我添加了该代码,因为 scrollView 是 nil.... 我怎样才能获得相同的 scrollView ...?
标签: ios swift uiscrollview