如何在spritekit中使用页面控件? (以编程方式)
How to use page controls in spritekit? (Programatically)
我正在创建一个游戏,我想包含一个页面控件(屏幕底部的三个点 - 我想要 post 图片,但我需要更多声誉!)。这是为了让用户在浏览场景时知道他们在哪个页面上。
我使用 SpriteKit 创建了我的游戏,我想知道是否有办法以编程方式添加它(不使用故事板)。
在 iOS 游戏模板 Playground 中,我可以使用以下代码实现这一点(前两行来自模板,其余是我添加的):
// Load the SKScene from 'GameScene.sks'
let sceneView = SKView(frame: CGRect(x:0 , y:0, width: 640, height: 480))
let pageControl = UIPageControl()
pageControl.translatesAutoresizingMaskIntoConstraints = false
pageControl.numberOfPages = 3
pageControl.currentPage = 1
sceneView.addSubview(pageControl)
// Centre the control left-to-right
pageControl.centerXAnchor.constraint(equalTo: sceneView.centerXAnchor).isActive = true
// Place the control 20 points up from the bottom edge
pageControl.bottomAnchor.constraint(equalTo: sceneView.bottomAnchor, constant: -20).isActive = true
要收到与 UIPageControl
交互的通知,请为事件注册一个处理程序:
pageControl.addTarget(thing, action: #selector(Thing.handlePagingEvent), for: .valueChanged)
(其中 thing
属于 Thing
类型 - 您的应用程序结构将确定逻辑上应该是哪个对象)
这假设您有一个 SKView
,其中您展示了三个 SKScene
之一。如果您实际上有一个包含三个 SKView
的 UIScrollView
,请改用 UIScrollView.indicatorStyle
。
我正在创建一个游戏,我想包含一个页面控件(屏幕底部的三个点 - 我想要 post 图片,但我需要更多声誉!)。这是为了让用户在浏览场景时知道他们在哪个页面上。 我使用 SpriteKit 创建了我的游戏,我想知道是否有办法以编程方式添加它(不使用故事板)。
在 iOS 游戏模板 Playground 中,我可以使用以下代码实现这一点(前两行来自模板,其余是我添加的):
// Load the SKScene from 'GameScene.sks'
let sceneView = SKView(frame: CGRect(x:0 , y:0, width: 640, height: 480))
let pageControl = UIPageControl()
pageControl.translatesAutoresizingMaskIntoConstraints = false
pageControl.numberOfPages = 3
pageControl.currentPage = 1
sceneView.addSubview(pageControl)
// Centre the control left-to-right
pageControl.centerXAnchor.constraint(equalTo: sceneView.centerXAnchor).isActive = true
// Place the control 20 points up from the bottom edge
pageControl.bottomAnchor.constraint(equalTo: sceneView.bottomAnchor, constant: -20).isActive = true
要收到与 UIPageControl
交互的通知,请为事件注册一个处理程序:
pageControl.addTarget(thing, action: #selector(Thing.handlePagingEvent), for: .valueChanged)
(其中 thing
属于 Thing
类型 - 您的应用程序结构将确定逻辑上应该是哪个对象)
这假设您有一个 SKView
,其中您展示了三个 SKScene
之一。如果您实际上有一个包含三个 SKView
的 UIScrollView
,请改用 UIScrollView.indicatorStyle
。