【发布时间】:2018-10-19 12:46:31
【问题描述】:
我正在开展一个需要创建可自定义共享卡的项目(了解人们可以导出以稍后在社交媒体上共享的图像)。
我将这些共享卡构建为包含其他几个 UI 元素(主要是 UIImageViews 和 UILabels)的普通 UIView。
为简单起见,我们将其称为 SharingCardView。
由于此视觉对象将被导出和共享,因此我需要让它在所有设备上看起来都完全相同。所以我的理解是,我需要让 AutoLayout 约束具有基于用户设备屏幕尺寸的响应常量。
假设我在 iPhone 上显示 UIView,然后在 iPad 上显示,我希望保持 SharingCardView 内所有内容的纵横比,这样人们就看不到从iPhone 或 iPad。
### 问题:
我希望能够将标签固定到 SharingCardView 的顶部 **具有 10% 的常数**,如下面的屏幕截图所示。
###到目前为止,我尝试过这种方式
我尝试将常量设置为 self.bounds.width * 0.1 但当我创建视图时,边界显然等于零,因此约束只是将所有内容固定在最顶部而没有任何填充。
nowUpOnYTLbl.anchor(top: topAnchor,
left: leftAnchor,
bottom: nil,
right: rightAnchor,
paddingTop: self.bounds.width * 0.1,
paddingLeft: 30,
paddingBottom: 0,
paddingRight: 30,
width: 0,
height: 20
)
任何建议都会非常有帮助。如果您认为这种方法是完全错误的,那么我完全愿意寻找替代解决方案。
【问题讨论】:
标签: ios swift autolayout constraints