对精灵进行滚动视图locking并放大

参考我以前的问题:

Swift 2.0,SpriteKit – 滚动查看不使用页面。

我想获得滚动视图(这是UIScrollView的子类),我必须locking在屏幕中间的精灵,而不是只是能够停止在精灵之间的差距滚动。

我也试图让它在屏幕中央稍微放大(如十字路口字符select菜单)

这是我的scrollview:

scrollView = CustomScrollView(frame: CGRect(x: 0, y: 0, width: self.frame.size.width, height: self.frame.size.height), scene: self, moveableNode: moveableNode, scrollDirection: .Horizontal) scrollView.contentSize = CGSizeMake(self.frame.size.width * 3, self.frame.size.height) // * 3 makes it three times as wide as screen view!.addSubview(scrollView) /// Set scrollView to first page scrollView.setContentOffset(CGPoint(x: 0 + self.frame.size.width * 2, y: 0), animated: true) /// ScrollView Sprites for each page in scrollView /// Makes positioning much easier. let page1ScrollView = SKSpriteNode(color: SKColor.clearColor(), size: CGSizeMake(self.frame.size.width, self.frame.size.height)) page1ScrollView.zPosition = -1 page1ScrollView.position = CGPointMake(CGRectGetMidX(self.frame) - (self.frame.size.width * 2), CGRectGetMidY(self.frame)) moveableNode.addChild(page1ScrollView) let page2ScrollView = SKSpriteNode(color: SKColor.clearColor(), size: CGSizeMake(self.frame.size.width, self.frame.size.height)) page2ScrollView.zPosition = -1 page2ScrollView.position = CGPointMake(CGRectGetMidX(self.frame) - (self.frame.size.width), CGRectGetMidY(self.frame)) moveableNode.addChild(page2ScrollView) let page3ScrollView = SKSpriteNode(color: SKColor.clearColor(), size: CGSizeMake(self.frame.size.width, self.frame.size.height)) page3ScrollView.zPosition = -1 page3ScrollView.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame)) moveableNode.addChild(page3ScrollView) /// Test label page 1 let sprite1 = SKSpriteNode(color: SKColor.redColor(), size: CGSize(width: 50, height: 50)) sprite1.position = CGPointMake(0, 0) page1ScrollView.addChild(sprite1) let sprite2 = SKSpriteNode(color: SKColor.redColor(), size: CGSize(width: 50, height: 50)) sprite2.position = CGPointMake(sprite1.position.x + (sprite2.size.width * 1.5), sprite1.position.y) sprite1.addChild(sprite2) let sprite3 = SKSpriteNode(color: SKColor.redColor(), size: CGSize(width: 50, height: 50)) sprite3.position = CGPointMake(sprite2.position.x + (sprite3.size.width * 1.5), sprite1.position.y) sprite1.addChild(sprite3) 

我已经尝试过执行ray的项目中find的locking代码(请参阅链接问题),但我没有运气得到它的工作。 有任何想法吗?