내가 자동 레이아웃, 나는 작은 UISwitch을하고이를 실현하기 위해 view.transform = CGAffineTransformMakeScale(0.5, 0.5)
를 사용하려면iOS8의 다른 동작 : view.transform와 자동 레이아웃 = CGAffineTransformMakeScale (0.5, 0.5), 뷰가 제대로
를 사용하고 배치되지 않습니다.
이 스위치 위에 다른보기가 있습니다. 이 스위치를 선도하는이 볼의 앞 가장자리에 정렬하고, 아래 그림과 같은보기와 스위치 사이의 고정 된 수직 공간이되어야한다
iOS7에
그러나 다른 모습 iOS8의에있다가 : 제약이 스위치에 적용되지 않습니다처럼
iOS8의
에 뷰 보인다.
하지만 self.view.layoutSubviews()
및 self.view.layoutIfNeeded()
그것은 작동하지 않습니다라고.
이 스위치를 위보기의 오른쪽 하단 모서리에 항상 붙여 놓는 방법은 무엇입니까? 여기
의 크기가 축소되지 스위치입니다
자동 레이아웃 레이어 변환 작동하지 않습니다 –
@ MaxMacLeod 왜 iOS7과 iOS8에서 같은 코드가 다른 동작을하는지 궁금합니다. 나는이 대답을 의미한다고 생각 [링크] (http://stackoverflow.com/questions/12943107/how-do-i-adjust-the-anchor-point-of-a-calayer-when-auto-layout-is- 사용중/14105757 # 14105757), 맞습니까? –
UISwitch의 본질적인 콘텐츠 크기가 기본 w : 51px h : 31px로 유지되므로보기 변환이 변경 되더라도 그 것처럼 동작합니다. UISwitch를 서브 클래스 화하고 CGSizeMake (25.5f, 15.5f)를 반환하여 - (CGSize) intrinsicContentSize 메서드를 재정의해야합니다. –