2017-02-14 2 views
0

나는 회사 로고가 iPhone 화면 크기의 상단에서 10 % 거리에 있어야한다는 요구 사항 중 하나가있는 프로젝트에서 작업 중입니다 (iPhone 5, 568 높이라면 57에 있어야 함) . 나는 제약 조건을 적용 할 수 있지만, 내가 아는 한, 그것은 고정 값이며 상대적인 것이 아닙니다. Xcode의 "특성 변경"기능을 점검했지만 필요한 모든 크기는 wC hR이므로이 경우 작동하지 않습니다. 다른 해결책은 iPhone 모델에 따라 다른 밝기를 적용하는 것이지만 가능하지는 않습니다.iPhone 크기에 따라 Splash에서 다른 구속 조건을 설정하는 방법은 무엇입니까?

아이디어가 있으십니까? 고마워!

+0

가로 세로 비율 제약 조건을 사용합니다. 당신은 명확히 할 수 있습니까? themlogo 너비가 화면 너비의 10 %가되어야합니까? 아니면 로고 왼쪽 공간이 화면 너비의 10 %가되어야합니까? – Paulw11

+0

그것은 수직 공간 제약 조건이며, 고정 값만 적용 할 수 있다고 생각합니다. 친척 관계를 맺을 수있는 방법이 있습니까? – Sylphos

+0

트릭은 로고 옆에 자리 표시자인 'UIView'를 배치하고보기의 높이를 화면 높이의 1/10로 제한하고 로고의 상단 가장자리를 자리 표시 자의 하단 가장자리로 제한하는 것입니다. – Paulw11

답변

1

자리 표시 자 뷰를 사용하여 필요한 수직 공간을 만들 수 있습니다.

로고 위에 UIView을 추가

enter image description here

이 로고 높이를 구속의 상단에이보기의 바닥을 구속 루트보기 의 상단이보기의 상단을 구속 루트 뷰의 높이의 1/10이보기의

enter image description here

+0

나는 그것을하는 법을 이해하려고 노력하고 있었다 hahaha는 그것이 일했던 덕택으로 낸다! !!!! – 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

관련 문제