2016-07-18 2 views
0

버튼의 중간 부분이 다른 iOS 화면의 맨 아래에 있도록 구속 조건을 설정하는 방법은 무엇입니까? 크기?화면 중간에 버튼 가운데 놓기 (화면 크기에 관계없이)

이 버튼의 가운데가 화면의 맨 아래에 배치됩니다 이상적인 경우이며, 아랫 부분이 화면에 표시되지 않습니다

enter image description here

아래의 코드로,이 무슨 일이 일어나고있다 , 이는 내가 원하는 것이 아니다 :

:

enter image description here

나는이 시도했다

하지만 iPhone 6 화면에서만 작동하며 iPad Mini와 같은 다른 화면에서는 작동하지 않습니다.

그런 수식을 일반화 할 수있는 방법이 있으면 화면의 크기에 관계없이 모든 가운데 단추가 화면 맨 아래에 잘 맞는지 알 수 있습니까?

제발 도와주세요, 나는 며칠 동안 노력하고 도처에서 수색했지만 단서를 찾을 수 없습니다. 감사!

+0

당신이 버튼의 중앙을 의미합니까 : 이들은 당신이 위치에 대한 추가해야하는이 개 제약 조건은? –

+0

@TejaNandamuri 예. 버튼의 중앙이 화면 하단에 위치한다는 것을 의미합니다 (예 : http://i.stack.imgur.com/mBKRb.jpg). 현재 상황은 다음과 같습니다. http : //i.stack .imgur.com/Yma8d.jpg – maymaymaymaymay

답변

1
[qrScanner.centerYAnchor constraintEqualToAnchor:self.bottomLayoutGuide.topAnchor constant:0].active = YES; 
0

귀하의 모형은 어떤 모양인지에 따라 귀하의 버튼이 고정 된 크기가 아니라 컨테이너의 크기에 따라 커지거나 작아지는 것으로 추측합니다. 이 때문에 오프셋 100은 버튼의 높이가 200이 될 때만 작동합니다.

버튼의 크기를 어떻게 결정할 지 모르지만 위치가 정해지면 가운데에 맞추기를 원합니다. 그 X 좌표를 지정하고, 버튼의 중심 Y val이 컨테이너의 하단과 같은 경우 하단 구속 조건을 설정합니다.

// Center X value in the view 
[NSLayoutConstraint constraintWithItem:button 
          attribute:NSLayoutAttributeCenterX 
          relatedBy:NSLayoutRelationEqual 
           toItem:self.view 
          attribute:NSLayoutAttributeCenterX 
          multiplier:1 
           constant:0]; 

// Center button's Y value to the bottom of the view 
[NSLayoutConstraint constraintWithItem:button 
          attribute:NSLayoutAttributeCenterY 
          relatedBy:NSLayoutRelationEqual 
           toItem:self.view 
          attribute:NSLayoutAttributeBottom 
          multiplier:1 
           constant:0]; 
관련 문제