如何将UIView水平居中?

Moh*_*din 10 ios swift

如何UIView使用CGRectMake?从视图控制器的顶部进行水平居中和30px ?

var draggableView: DraggableView = DraggableView(frame:CGRectMake(0 , 30, 260, 260))
draggableView.center = center
Run Code Online (Sandbox Code Playgroud)

Sla*_*ast 30

斯威夫特3;

subView.center.x = view.center.x
Run Code Online (Sandbox Code Playgroud)

  • 这应该是公认的答案。简单干净。 (2认同)

nan*_*d59 19

尝试:

let size = 260
let screenWidth = self.view.frame.size.width

let frame = CGRectMake((screenWidth / 2) - (size / 2), 30, size, size)
let draggableView = DraggableView(frame: frame)

self.view.addSubview(draggableView)
Run Code Online (Sandbox Code Playgroud)


rob*_*off 12

您无法将视图置于视图控制器中心,因为视图控制器不是视图且没有坐标系.

您可以将视图相对于另一个视图居中.大概你想要draggableView相对于视图控制器的视图居中.假设self是视图控制器,并且draggableView将是视图控制器视图的直接子视图:

var draggableView: DraggableView = DraggableView(frame:CGRectMake(0 , 30, 260, 260))
self.view.addSubview(draggableView)
draggableView.center = self.view.center
Run Code Online (Sandbox Code Playgroud)