2017-02-14 38 views
0

我正在做一個項目,其中一個要求是,公司標誌必須出現在距離iPhone屏幕大小頂部10%的距離(如果它是iPhone 5,568高度,則應該是57) 。我可以應用一個約束,但據我所知,這是一個固定值,而不是相對值。 我一直在檢查Xcode的「特性差異」功能,但由於我需要的所有尺寸都是wC hR,因此在這種情況下不起作用。 另一種解決方案是根據iPhone的型號應用不同的飛濺,但我不確定這是可能的。如何根據iPhone的尺寸在Splash中設置不同的約束?

有關它的任何想法?謝謝!

+0

使用寬高比約束。你能澄清一下嗎?他們應該將寬度設爲屏幕寬度的10%,還是應將徽標左側的空間設置爲屏幕寬度的10%? – Paulw11

+0

這是一個垂直空間約束,我認爲我只能將修正值應用於此。有什麼辦法讓它變得相對? – Sylphos

+0

訣竅是在商標旁放置一個佔位符透明的'UIView',並將該視圖的高度限制在屏幕高度的1/10處,並將商標的頂邊限制在佔位符的底邊。 – Paulw11

回答

1

您可以使用佔位符視圖來創建所需的垂直空間。

添加UIView上面的標誌:

enter image description here

約束本視圖到根視圖 的頂部的頂部約束本視圖的底部到標誌 約束高度頂部此視圖可根視圖的高度的1/10的

enter image description here

+0

我想知道如何做到這一點哈哈哈感謝它的工作!!!!! – Sylphos

0

你可以很容易阿希在代碼中也是如此。

logoImageView.translatesAutoresizingMaskIntoConstraints = false 

// This will keep your imageView 10% from the top 
NSLayoutConstraint(item: logoImageView, attribute: .top, relatedBy: .equal, toItem: self.view, attribute: .topMargin, multiplier: 1.0, constant: self.view.frame.size.height/10).isActive = true 

// Additional You will want your imageView to be centered. 
NSLayoutConstraint(item: logoImageView, attribute: .centerX, relatedBy: .equal, toItem: self.view, attribute: .centerX, multiplier: 1.0, constant: 0).isActive = true 
+0

因爲它在飛濺,我無法編碼。這是主要問題 – Sylphos

相關問題