Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 使用自定义垂直距离将子视图水平居中_Swift - Fatal编程技术网

Swift 使用自定义垂直距离将子视图水平居中

Swift 使用自定义垂直距离将子视图水平居中,swift,Swift,我有下面的子视图,我想在屏幕上水平居中并手动设置垂直距离 let customImageView = AnimationView(name: "image") customImageView.frame = CGRect(x: -140, y: 40, width: 700, height: 700) customImageView.contentMode = .scaleAspectFill self.view.addSubview(customImageVie

我有下面的子视图,我想在屏幕上水平居中并手动设置垂直距离

    let customImageView = AnimationView(name: "image")
    customImageView.frame = CGRect(x: -140, y: 40, width: 700, height: 700)
    customImageView.contentMode = .scaleAspectFill
    self.view.addSubview(customImageView)

如果手机的屏幕尺寸较小,是否可以确保设置的垂直距离会起作用

这听起来像是Auto Layout()的工作,Auto Layout()是苹果公司基于约束的系统,专门用于根据其他视图和屏幕大小动态调整视图大小。在您的情况下,可以在视图和子视图的顶部设置“大于/小于”约束,以便在屏幕变大/变小时,至少有一定的间距,并可以选择“增大”

如果您仍希望进行基于帧的布局(例如,创建CGRect/frame),则必须根据view.frame.size.height值自行进行计算。请注意,在调用
viewdilayoutsubviews
之前,可能不会设置视图控制器的图幅