На CGRect(x:, y:, width:, height:)
точка (x, y) является началом координат. В iOS это верхняя левая точка.
На CGRect
Документ :
В координатном пространстве Core Graphics по умолчанию находится источник
в нижнем левом углу прямоугольника и прямоугольник расширяется
к верхнему правому углу. Если контекст имеет
пространство с перевернутыми координатами - часто это происходит в iOS - источник находится в
верхний левый угол и прямоугольник простирается к нижнему правому
угол.
Итак, чтобы это исправить:
let width = 100.0
let height = 100.0
let customViewFrame = CGRect(x: view.center.x - width/2.0, y: view.center.y - height/2.0, width: width, height: height)
Другим решением будет применение центра после установки рамки (особенно ширины / размера).
let customViewFrame = CGRect(x: 0, y: 0, width: 100, height: 100)
customViewFrame = view.center