Snapkit을 사용하여 자동 레이아웃 코드를 단순화하고 있습니다. 그러나 하나의 시나리오가 자주 정기적으로 팝업되는 것처럼 보입니다. 코드가 적게 드는 방법이 있는지 궁금합니다.Snapkit : 여백을 여러 개로 제한하십시오.
그럼 나는 그것이 수퍼 마진의에, 우리는 같은 것을 할 수있는 UIView
의 가장자리를 고정 할 필요가 있다고 가정 해 봅시다 : 이것은 본질적으로 제외하고, 부모 뷰를 작성 하위 뷰 결과
subView.snp.makeConstraints { make in
make.top.equalTo(parentView.snp.topMargin)
make.bottom.equalTo(parentView.snp.bottomMargin)
make.left.equalTo(parentView.snp.leftMargin)
make.right.equalTo(parentView.snp.rightMargin)
}
부모보기 레이아웃 여백에 의해 정의 된 패딩의 소량. 나는 이것의 약간의 변형이 꽤 일반적 일 것이라고 확신한다.
이것은이 라이브러리에 대해 지나치게 자세한 것으로 보입니다. 그것은 그러나 여백과 관련하여, 헬퍼 메소드 위의 두 가지 방법으로 할 수 있습니다 내가 그들의 문서에서 찾을 관리하지 않은 어떤 이들
make.edges.equalToSuperview()
make.top.left.right.equalToSuperview()
같은 정말 멋진 도우미 메서드가 있습니다. (있는 경우) 내가 무엇을 찾고
에 가깝다 뭔가 : 그래서
make.edges.equalToSuperview().withMargins()
make.top.left.right.equalToSuperview().withMargins()
make.top.left.right.equalTo(someview).withMargins()
가, 매우 자세한 방법보다이 다른 일을하는 방법은 무엇입니까? 설명서에 누락 된 내용이 있습니까? 아니면 확장명으로 추가 할 수 있습니까?
그럼 문제의 절반이 해결되어 코드를 정리할 수 있습니다. 그러나 그것은 당신이 모든 일을하는 경우에만 작동합니다. 'make.top.left.equalTo (view.snp.margins)'는 일치하지 않기 때문에 작동하지 않습니다. 어쩌면 그 기능을 지원하는 확장 기능을 작성해야 할 필요가있을 것입니다. 그렇게하는 것이 정말 일반적인 일처럼 보입니다. 그래서 나는 이미 라이브러리에서보다 우아한 솔루션을 기대했습니다. – TRG
@TRG 해당 상황에서 수행 할 수있는 작업을 편집하십시오. – JustinM