如何正确调整SKView子视图和SKScene的大小

sdc

我正在尝试获取/设置子视图(SKView的正确大小

我正在使用情节提要创建一个UIView,以及一个是的子视图SKView我想以编程方式创建一个SKScene尺寸为的SKView

我的想法是,scene.size.heightscene.size.width将等于SKView的高度和宽度。为了测试这一点,我在每个角上绘制了四个蓝色圆圈,在边框上绘制了红线。当我期望看到所有四个蓝色角点和边界线时,我只能看到左下角。

请忽略场景中的黑色圆圈,它们无关紧要。

iPhone 6屏幕截图(人像)
iPhone 6屏幕截图(人像)

iPhone 6屏幕截图(横向) iPhone 6屏幕截图(横向)

我添加了西南(西南),东南,东北和西北标签

带有SKView参考的ViewController 这是我创建的地方(请参阅参考资料SKSCenefunc newGame

import UIKit
import SpriteKit


class CenterView: UIViewController, ActionDelegate {
    @IBOutlet weak private var navBar:UINavigationBar!
    @IBOutlet weak private var titleBar:UINavigationItem!
    @IBOutlet weak private var gameView:SKView!

    var navigation:NavigationDelegate?
    var action:ActionDelegate?
    var game:GameDelegate?

    override func viewDidLoad() {
        super.viewDidLoad()
        self.action = self
        newGame()
    }

    @IBAction func menuClick(sender: AnyObject) {
        navigation?.toggleLeftPanel()
    }

    func setTitleBarTitle(title: String) {
        titleBar.title = title
    }

    func newGame() {
        print("skview bounds: \(self.gameView.bounds.size)")
        let game = GameScene(size: self.gameView.bounds.size)
        self.game = game
        game.action = action
        game.scaleMode = .ResizeFill
        self.gameView.presentScene(game)
    }
}

主板 主板

约束条件

约束条件

添加角圆和边界线

if let scene = self.scene {
            let dot = SKShapeNode(circleOfRadius: 10)
            dot.fillColor = UIColor.blueColor()
            dot.position = CGPoint(x: 0,y: 0)

            let dot1 = SKShapeNode(circleOfRadius: 10)
            dot1.fillColor = UIColor.blueColor()
            dot1.position = CGPoint(x: scene.size.width,y: 0)

            let dot2 = SKShapeNode(circleOfRadius: 10)
            dot2.fillColor = UIColor.blueColor()
            dot2.position = CGPoint(x: 0,y: scene.size.height)

            let dot3 = SKShapeNode(circleOfRadius: 10)
            dot3.fillColor = UIColor.blueColor()
            dot3.position = CGPoint(x: scene.size.width,y: scene.size.height)


            let left = SKShapeNode(rect: CGRect(x: 0, y: 0, width: 3, height: scene.size.height))
            let top = SKShapeNode(rect: CGRect(x: 0, y: scene.size.height, width: scene.size.width, height: 3))
            let right = SKShapeNode(rect: CGRect(x: scene.size.width, y: 0, width: 3, height: scene.size.height))
            let bottom = SKShapeNode(rect: CGRect(x: 0, y: 0, width: scene.size.width, height: 3))

            left.fillColor = UIColor.redColor()
            top.fillColor = UIColor.redColor()
            bottom.fillColor = UIColor.redColor()
            right.fillColor = UIColor.redColor()


            scene.addChild(dot)
            scene.addChild(dot1)
            scene.addChild(dot2)
            scene.addChild(dot3)

            scene.addChild(left)
            scene.addChild(top)
            scene.addChild(right)
            scene.addChild(bottom)
        }
sdc

原来,我的约束条件设置不正确。

约束条件
iOS视图约束

结果
iPhone 4s肖像

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使推入UINavigationViewController的视图正确调整大小?

来自分类Dev

动画约束时子视图无法正确调整大小

来自分类Dev

如何根据UITextView子视图的大小调整UITableViewCell的大小?

来自分类Dev

更改子视图的约束后如何调整父视图的大小?

来自分类Dev

子视图高度调整大小

来自分类Dev

如何在Swift中使用视图调整子图层的大小?

来自分类Dev

如何在Xcode中调整UIStackView的子视图大小?

来自分类Dev

如何在UIScrollView中调整子视图的大小?

来自分类Dev

如何从SKView或ViewController暂停SKScene

来自分类Dev

使用SwiftUI时无法正确调整SKScene的大小

来自分类Dev

如何在SKScene中创建子视图?

来自分类Dev

是否可以调整 UITabbarcontroller 的子视图大小?

来自分类Dev

使用 AutoLayout 调整子视图的大小

来自分类Dev

SKView和SKScene有什么区别

来自分类Dev

SKView和SKScene有什么区别

来自分类Dev

iOS:通过删除子视图来调整子视图的大小

来自分类常见问题

如何调整超级视图的大小以适合具有自动布局的所有子视图?

来自分类Dev

如何在XIB中基于子视图的大小调整超级视图的高度?

来自分类Dev

使用UIScrollView和AutoLayout以编程方式创建控制器无法正确调整视图的大小

来自分类Dev

iOS故事板-自动布局不会调整子视图的大小和位置

来自分类Dev

当另一个子视图改变位置时如何调整子视图的大小

来自分类Dev

根据子视图的内容大小调整滚动视图

来自分类Dev

超级视图加载完成后调整子视图的大小

来自分类Dev

UICollectionViewCell子视图大小不正确

来自分类Dev

如何使用可调整大小的jQuery在x和y轴上以正确的比例调整图像大小

来自分类Dev

如何使 SplitContainers 中的 ListBoxes 正确调整大小?

来自分类Dev

列没有为移动视图正确调整大小

来自分类Dev

为视图调整大小后如何检索图像的高度和宽度

来自分类Dev

调整glViewport()和glFrustum()的大小时,如何调整模型的大小?

Related 相关文章

  1. 1

    如何使推入UINavigationViewController的视图正确调整大小?

  2. 2

    动画约束时子视图无法正确调整大小

  3. 3

    如何根据UITextView子视图的大小调整UITableViewCell的大小?

  4. 4

    更改子视图的约束后如何调整父视图的大小?

  5. 5

    子视图高度调整大小

  6. 6

    如何在Swift中使用视图调整子图层的大小?

  7. 7

    如何在Xcode中调整UIStackView的子视图大小?

  8. 8

    如何在UIScrollView中调整子视图的大小?

  9. 9

    如何从SKView或ViewController暂停SKScene

  10. 10

    使用SwiftUI时无法正确调整SKScene的大小

  11. 11

    如何在SKScene中创建子视图?

  12. 12

    是否可以调整 UITabbarcontroller 的子视图大小?

  13. 13

    使用 AutoLayout 调整子视图的大小

  14. 14

    SKView和SKScene有什么区别

  15. 15

    SKView和SKScene有什么区别

  16. 16

    iOS:通过删除子视图来调整子视图的大小

  17. 17

    如何调整超级视图的大小以适合具有自动布局的所有子视图?

  18. 18

    如何在XIB中基于子视图的大小调整超级视图的高度?

  19. 19

    使用UIScrollView和AutoLayout以编程方式创建控制器无法正确调整视图的大小

  20. 20

    iOS故事板-自动布局不会调整子视图的大小和位置

  21. 21

    当另一个子视图改变位置时如何调整子视图的大小

  22. 22

    根据子视图的内容大小调整滚动视图

  23. 23

    超级视图加载完成后调整子视图的大小

  24. 24

    UICollectionViewCell子视图大小不正确

  25. 25

    如何使用可调整大小的jQuery在x和y轴上以正确的比例调整图像大小

  26. 26

    如何使 SplitContainers 中的 ListBoxes 正确调整大小?

  27. 27

    列没有为移动视图正确调整大小

  28. 28

    为视图调整大小后如何检索图像的高度和宽度

  29. 29

    调整glViewport()和glFrustum()的大小时,如何调整模型的大小?

热门标签

归档