Xamarin.iOS에서 AutoLayout을 코드에서 작성할 때 유용한 라이브러리
7908 단어 iOSAutoLayioutXamarin.iOSXamarin
소개
이 기사는 Xamarin Advent Calendar 2018의 10일째로 Xamarin.iOS에서 AutoLayout을 코드에서 작성할 때 유용한 라이브러리를 소개합니다.
iOS 앱 개발에서 사용자 인터페이스 만들기
여러분은 iOS 앱 개발에서 어떻게 사용자 인터페이스를 만들고 있습니까?
Storyboard를 Xcode로 편집할 때는 인터페이스 빌더 , Visual Studio에서 편집하는 경우는 iOS Designer
Storyboard를 사용하는 단점
Storyboard를 사용하는 개발은 다음과 같은 단점이 있다고 인식합니다.
여러분은 iOS 앱 개발에서 어떻게 사용자 인터페이스를 만들고 있습니까?
Storyboard를 Xcode로 편집할 때는 인터페이스 빌더 , Visual Studio에서 편집하는 경우는 iOS Designer
Storyboard를 사용하는 단점
Storyboard를 사용하는 개발은 다음과 같은 단점이 있다고 인식합니다.
Git의 충돌은 심각한 문제로 '한 화면 한 Storyboard'라든지 'Storyboard를 편집하는 사람은 혼자만' 등으로 운용하고 있는 팀도 있다고 들었습니다.
Storyboard를 사용하지 않고 소스 코드로 사용자 인터페이스 만들기
Storyboard에 단점을 느끼고 소스 코드로 사용자 인터페이스를 만드는 방법을 채용하는 사람도 있습니다.
Microsfot Docs에는 "Xamarin.iOS에서 코드로 iOS 사용자 인터페이스 만들기"이라는 설명 페이지가 있습니다.
Auto Layout을 소스 코드로 작성하면
View의 위치를 AutoLayout으로 쓰면 다음과 같이 됩니다.
translatedLabel.HeightAnchor.ConstraintEqualTo(20).Active = true;
translatedLabel.CenterXAnchor.ConstraintEqualTo(View.CenterXAnchor).Active = true;
translatedLabel.TopAnchor.ConstraintEqualTo(translateButton.BottomAnchor, 20).Active = true;
translatedLabel.LeftAnchor.ConstraintEqualTo(View.LayoutMarginsGuide.LeftAnchor).Active = true;
translatedLabel.RightAnchor.ConstraintEqualTo(View.LayoutMarginsGuide.RightAnchor).Active = true;
이 금액으로 View의 한 부분입니다.
하나의 화면은 몇개의 View의 집합에 의한 것으로, 제약은 많이 있지요.
다음은 번역 앱의 화면 구성 예와 그 제약입니다.
더 간결하게 쓰고 싶다
AutoLayout 코딩을 지원하는 라이브러리가 있습니다.
htps : // 기주 b. 이 m/Ty ぇ리안/S인 pt. 마린
Xamarin.iOS를 지원하는 지원 라이브러리 중에서 Cirrious.FluentLayout이 가장 많이 사용되는 것 같습니다.
Cirrious.FluentLayout을 사용하면 이전 코드를 다음과 같이 작성할 수 있습니다.
View.AddConstraints(
translatedLabel.Height().EqualTo(20),
translatedLabel.WithSameCenterX(View),
translatedLabel.AtTopOf(translateButton, 20),
translatedLabel.ToLeftMargin(View),
translatedLabel.ToRightMargin(View)
);
상당히 보기 쉬워진 것이 아닐까요.
AutoLayout을 코드로 작성할 때의 주의점
기타: Objective-C/Swift에서 사용할 수 있는 지원 라이브러리
Objective-C/Swift용 지원 라이브러리는 여러가지 있습니다.
내가 Swift로 코딩 할 때 TinyConstraints을 사용하고 있습니다.
이상입니다.
Reference
이 문제에 관하여(Xamarin.iOS에서 AutoLayout을 코드에서 작성할 때 유용한 라이브러리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nakasho-dev/items/1ab717baad40f79a049f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)