以自定义垂直距离水平居中子视图|斯威夫特
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以自定义垂直距离水平居中子视图|斯威夫特相关的知识,希望对你有一定的参考价值。
我有以下子视图,我想在屏幕上水平居中并手动设置垂直距离。
let customImageView = AnimationView(name: "image")
customImageView.frame = CGRect(x: -140, y: 40, width: 700, height: 700)
customImageView.contentMode = .scaleAspectFill
self.view.addSubview(customImageView)
如果手机的屏幕尺寸较小,可以确保设置的垂直距离会得到考虑。
答案
这听起来像是自动布局(https://developer.apple.com/library/archive/documentation/UserExperience/Conceptual/AutolayoutPG/index.html)的工作,这是Apple的基于约束的系统,专门针对与其他视图和屏幕尺寸相关的视图动态尺寸而制作。在您的情况下,可以在视图和子视图的顶部设置大于/小于约束,以便在屏幕较大/较小的情况下,它至少具有一定的间距,并且可以选择增大。
[如果您仍要进行基于框架的布局(例如,创建CGRect /框架),则必须根据view.frame.size.height值自己进行数学计算。请注意,在调用viewDidLayoutSubviews
之前可能未设置视图控制器的视图框架。
以上是关于以自定义垂直距离水平居中子视图|斯威夫特的主要内容,如果未能解决你的问题,请参考以下文章