Документация и другие руководства предложили мне, что UIScreen.main.bounds в Swift возвращает края экрана. Однако, используя симулятор в Свифт, этого не получается.Какое значение возвращает UIScreen.main.bounds? Проблема с соответствующим размером экрана
Ниже приведены два снимка экрана XCode Simulator (5s, 6) с использованием того же кода.
код находится ниже, но в основном только нарисовать четыре пути вокруг с координатами (screenwidth, ScreenHeight), (- screenwidth, ScreenHeight), (screenwidth, -screenheight), (- screenwidth, -screenheight).
Я не понимаю UIScreen.main.bounds? Или что-то еще вызывает это? В идеале, я хочу иметь возможность программно устанавливать переменные, которые находятся в четырех углах экрана.
Это все сделано в GameScene. Я не добавил никаких функций в раскадровку.
let screenSize = UIScreen.main.bounds
let screenWidth = screenSize.width
let screenHeight = screenSize.height
let pathBound = UIBezierPath(rect: CGRect(x: -screenWidth, y: -screenHeight, width: 5, height: screenHeight*2))
let shapeNode = SKShapeNode(path: pathBound.cgPath)
shapeNode.fillColor = UIColor.green
shapeNode.strokeColor = UIColor.green
addChild(shapeNode)
let pathBound2 = UIBezierPath(rect: CGRect(x: screenWidth-5, y: -screenHeight, width: 5, height: screenHeight*2))
let shapeNode2 = SKShapeNode(path: pathBound2.cgPath)
shapeNode2.fillColor = UIColor.blue
shapeNode2.strokeColor = UIColor.blue
addChild(shapeNode2)
let pathBound3 = UIBezierPath(rect: CGRect(x: -screenWidth, y: screenHeight-5, width: screenWidth*2, height: 5))
let shapeNode3 = SKShapeNode(path: pathBound3.cgPath)
shapeNode3.fillColor = UIColor.red
shapeNode3.strokeColor = UIColor.red
addChild(shapeNode3)
let pathBound4 = UIBezierPath(rect: CGRect(x: -screenWidth, y: -screenHeight, width: screenWidth*2, height: 5))
let shapeNode4 = SKShapeNode(path: pathBound4.cgPath)
shapeNode4.fillColor = UIColor.orange
shapeNode4.strokeColor = UIColor.orange
addChild(shapeNode4)
let pathBound5 = UIBezierPath(rect: CGRect(x: -screenWidth, y: 0
, width: screenWidth*2, height: 5))
let shapeNode5 = SKShapeNode(path: pathBound5.cgPath)
shapeNode5.fillColor = UIColor.purple
shapeNode5.strokeColor = UIColor.purple
addChild(shapeNode5)
UIScreen.main.bounds возвращает CGRect (происхождение: CGPoint, размер: CGSize) для всех устройств, предположим, что вы используете, как это: UIScreen .main.bounds.size, то он возвращает размер различных границ, например: (320, 480), (320, 568), (375, 667), (414, 736) –