다른보기 (아래 컨테이너라고 함) 안에 view1과 view2를 넣으려고합니다. 컨테이너보기는 다음과 같이 제한됩니다.
|-padding-[container]-padding-|
그러면 view1 및 view2의 왼쪽 및 오른쪽 가장자리가 컨테이너보기로 제한됩니다. 버튼의 확장과 축소는 이러한 제약 조건에 애니메이션을 적용하여 처리됩니다. 예를 들어
|-[view1]-halfContainerWidth-|
|-halfContainerWidth-[view2]-|
, 숨길 뷰 2 :
[UIView animateWithDuration:0.5 animations:^{
view2.alpha = 0.0;
view1RightConstraint.constant = 0.0;
};
다시 뷰 2 표시하려면 : 당신은 컨테이너보기없이이 작업을 수행 할 수
[UIView animateWithDuration:0.5 animations:^{
view2.alpha = 1.0;
CGFloat containerWidth = container.frame.size.width;
view1RightConstraint.constant = containerWidth/2.0;
};
하지만 내가 가진 생각 일이 더 간단 해집니다. 본질적으로는 오른쪽 뷰의 왼쪽 및 왼쪽 가장자리 구속 조건에서 뷰의 오른쪽 가장자리 구속 조건에 대한 상수 값을 관리하는 것입니다. 뷰가 1 개 밖에 보이지 않으면 상수는 0이고 둘 다 표시되면 컨테이너/2의 너비가됩니다.